ORACLE 先分组后排序,取出每一类的头几条数据
2014-03-21 16:44
197 查看
--先根据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;
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开展分组后,取出每组的前几条数据
- MYSQL-实现ORACLE 和SQLserver数据中- row_number() over(partition by ) 分组排序功能
- 【记录】T-SQL 分组排序中取出最新数据
- oracle 取出分组中的第一条数据
- oracle或mysql分组查询并且获取前3条排序后的数据
- oracle下数据的排序分组row_number() over()--分析函数,可用于去重
- 【记录】T-SQL 分组排序中取出最新数据
- 先分组查询,然后为每组数据排序,取出最大值
- ORACLE使用row_number() over(...)对查询数据进行分组并排序
- SQL SERVER 取出 一张表中的每个分组中 的第一条数据 ,第一条数据是按照某种排序规则进行排序取的第一条
- oracle 按照分组字段,排序字段取出第一行
- oracle中按A列分组,B列排序,取B中第一条数据的查询
- Oracle 以某字段分组,以某字段排序,取前几条
- oracle中查询表中先排序再取出前10条数据
- oracle sql 排序后取出前几条
- oracle的dense_rank函数,实现分组后组内排序,取最值一组数据
- Oracle 分组后,对组内数据进行排序
- Oracle 以某字段分组,以某字段排序,取前几条
- oracle中排序后查询前几条数据
- 取出分组之后每组前10条数据 oracle