Oracle分组后对分组内容重复 取第一个

Oracle分组后对分组内容重复 的以另一列排序后 取第一个

语句

select * from(

select a.grep, row_number() over (partition by a.grep order by a.create_time desc nulls last) row_num

from test a

) aa   where aa.row_num = 1 --获取分组排序后的第一个

row_number() over(partition by A order by B )

     A为分组字段

     B为分组后排序的字段

如果不加分组条件即   row_number() over(order by B desc)  这样 那么将不分组直接排序

加的话则按分组排序。这个函数执行在where语句之后

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章