ORACLE先分组后排序,取出没一类的头几条数据
--先根据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;
分享到:
ORACLE先分组后排序,取出没一类的头几条数据
--先根据A进行分组,再在组内根据B进行排序。rn<3取出每一类的头三条数据