简单问题...取ID
设表A有如下记录:
ID USERID TDATE TYPE
1 1 2000-11-11 10:12:12 A
2 1 2003-12-11 10:12:12 B
3 1 2002-10-20 10:12:12 C
4 2 2001-10-23 10:12:12 A
5 2 2000-10-18 10:12:12 B
6 2 2003-12-25 10:12:12 C
7 3 2001-11-23 10:12:12 A
8 3 2000-12-18 10:12:12 B
9 3 2003-10-25 10:12:12 C
10 3 2003-10-25 19:12:12 D
用如下语句可以得到结果:
select userid, max([tdate]) as rq from a group by userid
userid rq
1 2003-12-11 10:12:12
2 2003-12-25 10:12:12
3 2003-10-25 19:12:12
问题如下:
现在我想取得对应的max([tdate])下记录id号是多少, 如上结果应该对应id分别为:2,6,10
语句应怎么写?
(注:select * from a inner join (select userid, max([tdate]) as rq from a group by userid) as b on a.userid = b.userid and a.tdate=b.rq ORDER BY A.userid 这句行不通...会将 id 为 9 的记录也选出来)