请问一下
如果table中有很多个部门,每个部门又有很多笔交易
请问,我要如何抓出
每一个部门,他最靠近系统日期的那一笔资料
比如说
dep date pay
a 20110511 300
a 20100524 400
b 20100521 100
a 20110527 200
b 20101116 200
b 20100524 1000抓出资料为
dep date pay
a 20110527 200
b 20101116 200
如果table中有很多个部门,每个部门又有很多笔交易
请问,我要如何抓出
每一个部门,他最靠近系统日期的那一笔资料
比如说
dep date pay
a 20110511 300
a 20100524 400
b 20100521 100
a 20110527 200
b 20101116 200
b 20100524 1000抓出资料为
dep date pay
a 20110527 200
b 20101116 200
--方法1
select * from table1 a where not exists (select * from table1 b
where b.dep=a.dep and b.date1>a.date1);
--方法2
select * from (
select t.* row_number() over (partition by dept order by date1 desc) rn from table1 t)
where rn=1