您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> oracle教程 >> 正文

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

作者:佚名    责任编辑:admin    更新时间:2022-06-22

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