[ORACLE先分组后排序,取出没一类的头几条数据] 专属男朋友的qq分组

--先根据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;