oracle - 分组取前三

语法:ROW_NUMBER() OVER(PARTITION BY [column1] ORDER BY [column2])

功能:根据 column1 进行分组,按照 columns2 进行排序,通过嵌套子查询的方式,取出 ROW_NUMBER 为前 3 的数据

案例:

SELECT * FROM (
    SELECT M.ID, ROW_NUMBER() OVER(PARTITION BY M.A ORDER BY M.B desc) RN
    FROM MK_MON_EN M
)T WHERE T.RN <= 3

posted on 2018-04-16 22:53  疯狂的妞妞  阅读(5459)  评论(0编辑  收藏  举报

导航