ORACLE先分组后排序,取出没一类的头几条数据

2014-11-24 12:53:19 · 作者: · 浏览: 2

--先根据A进行分组,再在组内根据B进行排序。rn<3取出每一类的头三条数据

SELECT *
FROM (SELECT T.B,
T.A,
ROW_NUMBER() OVER(PARTITION BY T.A ORDER BY T.B DESC) RN
FROM DUAL T)
WHERE RN <= 3;