17,377
社区成员
发帖
与我相关
我的任务
分享
with t as
(
select 1 dwid,to_date('2013/5/26','YYYY/MM/DD') date1,23000 money from dual
union all
select 2 dwid,to_date('2013/5/3','YYYY/MM/DD') m,23000 s from dual
union all
select 2 dwid,to_date('2013/5/3','YYYY/MM/DD') m,230000 s from dual
union all
select 2 dwid,to_date('2013/5/1','YYYY/MM/DD') m,22 s from dual
union all
select 3 dwid,to_date('2013/5/14','YYYY/MM/DD') m,23000 s from dual
union all
select 3 dwid,to_date('2013/5/1','YYYY/MM/DD') m,22 s from dual
union all
select 4 dwid,to_date('2013/5/1','YYYY/MM/DD') m,30000 s from dual
)
select dwid,date1,money from (
select dwid,date1,money,row_number()over(partition by dwid order by date1 desc,money desc) rn from t
) where rn=1
如果存在相同日期取money 最大的记录