首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

高手来看看这个sql的数据查询有关问题! 急等

2012-02-04 
高手来看看这个sql的数据查询问题! 急等!字段结构如下:idbhjinepzsj26 1002 13 2011-8-1227 1005 33 2011-

高手来看看这个sql的数据查询问题! 急等!
字段结构如下:
id bh jine pzsj
26 1002 13 2011-8-12
27 1005 33 2011-8-3
28 1005 25 2011-8-3
29 1003 18 2011-8-4
30 1004 59 2011-8-16
31 1004 89 2011-8-12
32 1005 29 2011-8-3
33 1004 19 2011-8-2

id自动增长;bh为编号 jine为金额 pzsj 为批准时间,现在要求如下:
1、同一编号如1005 批准时间也是一样的话,则取id号最新的那条
2、同一编号如1004 批准时间不同,则取批准时间最新的那条
3、按编号排序

如此例:结果应该要这样:
id bh jine sj
26 1002 13 2011-8-12
29 1003 18 2011-8-4
30 1004 59 2011-8-16 (因为1004的时间不同,所以取批准时间最新的日期的那条记录)
32 1005 29 2011-8-3 (因为1005同一天批准,所以去id号最大的那条记录)

求用一条sql语句,写出这样的数据过滤查询来!高手请帮忙!





[解决办法]

SQL code
select *from tb twhere not exists (select 1 from tb where bh=t.bh and (pzsj>t.pzsj or (pzsj=t.pzsj and id>t.id)))
[解决办法]
SQL code
select * from tb where id in (select max(id) from tb group by bd,pzsj)
[解决办法]
SQL code
select *from tb twhere id = (select top 1 id from tb where bh=t.bh order by pzsj desc,id desc)
[解决办法]
SQL code
select *from tb twhere not exists (select 1 from tb where bh=t.bh and (pzsj>t.pzsj or (pzsj=t.pzsj and id>t.id))) 

热点排行