根据类别分组后找出时间最近的ID值
ID SID DTIME
1 2 NULL
2 1 2007-10-1
3 1 2007-7-1
4 2 2007-9-10
5 2 2007-2-1
6 3 2007-10-1
就是这样一组数据
根据SID分组找出时间(如果时间为空,算最近)最近的ID值,按SID排序
要的结果如下:
ID SID DTIME
2 1 2007-10-1
1 2
6 3 2007-10-1
新人,大家给指点一下
[解决办法]
SELECT * FROM T1 A WHERE NOT EXISTS(SELECT 1 FROM T1 WHERE A.SID=SID AND ISNULL(A.DTIME, ' ')> DTIME )
ORDER BY SID
ID SID DTIME
------ ------ ----------
2 1 2007-10-1
1 2
6 3 2007-10-1
(所影响的行数为 3 行)
[解决办法]
兄弟,你的通不过,要去掉也只能这样:
select * from tb5 A where not exists(select 1 from tb5 B where A.SID=B.SID and A.DTIME <isnull(B.DTIME, '9999-12-31 ')) order by SID