我有表TableA【ID、SEQNO】是主键
ID SEQNO NAME OTHER UPDDATE
1 1 A A 20090510
1 2 B B 20090511
1 3 C C 20090520
2 1 D D 20090515
2 2 E E 20090516
2 3 F F 20090519
3 1 G G 20090521
3 2 H H 20090524
我现在要选出标红的这几行,也就是说,我要选出,同一个ID的UPDATE最后的行
ID SEQNO NAME OTHER UPDDATE
1 1 A A 20090510
1 2 B B 20090511
1 3 C C 20090520
2 1 D D 20090515
2 2 E E 20090516
2 3 F F 20090519
3 1 G G 20090521
3 2 H H 20090524
我现在要选出标红的这几行,也就是说,我要选出,同一个ID的UPDATE最后的行
where (id, update) in (select id, max(update) from tableA group by id)
(SELECT ID,SEQNO,NAME,OTHER,UPDDATE,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY UPDDATE desc) AS rn
from tablea)
where rn=1