sql分组获取第一条记录(sql+oracle)

sql版本

select * from
(select t.CloseDate,t.ExpiryDate,t.DataTypeLookupID,
ROW_NUMBER() over(partition by CloseDate,ExpiryDate,DataTypeLookupID order by CloseDate,ExpiryDate,DataTypeLookupID)
as new_index
from dbo.IndexVolatilityMarketData t
) a where a.new_index=1

oracle版本

 

select * from alm_float_deposit where rowid in(
select min_rowid from(
select m1.aa,m1.bb,m1.cc,min(rowid) min_rowid from (
select t.org_unit_id aa,t.as_of_date bb ,t.origination_date cc ,t.last_reprice_date dd,rank() over(
partition by t.org_unit_id,t.as_of_date,t.origination_date,t.last_reprice_date order by t.org_unit_id,t.as_of_date,t.origination_date,t.last_reprice_date) mm from alm_float_deposit t) m1
group by m1.aa,m1.bb,m1.cc,m1.dd)
);

posted on 2015-07-02 23:53  听哥哥的话  阅读(486)  评论(0编辑  收藏  举报

导航