美文网首页
oracle 分组取前10条

oracle 分组取前10条

作者: 晓码君 | 来源:发表于2019-04-19 18:01 被阅读0次
TITLE 表统计数据如下图:
SELECT NAME, COUNT(ID)
FROM TITLE
GROUP BY NAME
ORDER BY COUNT(ID) DESC
NAME    COUNT(ID)
TEST4   13
TEST5   11
TEST2   11
TEST1   2
TEST3   1
获取所以不同的NAME的前10个ID数据,如下,TEST1取了2、TEST3取了1,其他超过10条的只取了前10条
SELECT * FROM (
    SELECT T.*, (ROW_NUMBER() over (PARTITION BY NAME ORDER BY ID)) RN FROM TITLE T
) WHERE RN < 11
ID  NAME    RN
1   TEST1   1
4   TEST1   2
1   TEST2   1
5   TEST2   2
6   TEST2   3
7   TEST2   4
8   TEST2   5
9   TEST2   6
10  TEST2   7
11  TEST2   8
12  TEST2   9
13  TEST2   10
2   TEST3   1
2   TEST4   1
3   TEST4   2
4   TEST4   3
5   TEST4   4
6   TEST4   5
7   TEST4   6
8   TEST4   7
9   TEST4   8
10  TEST4   9
11  TEST4   10
3   TEST5   1
5   TEST5   2
6   TEST5   3
7   TEST5   4
8   TEST5   5
9   TEST5   6
10  TEST5   7
11  TEST5   8
12  TEST5   9
13  TEST5   10

相关文章

  • oracle 分组取前10条

    TITLE 表统计数据如下图: 获取所以不同的NAME的前10个ID数据,如下,TEST1取了2、TEST3取了1...

  • group by和having

    自我理解:未分组前,是 行 为单位group by分组后,是 组 为单位 既然group by分组了,oracle...

  • mysql分组取前三

    select* fromtbk where3>(selectcount(*)fromtbwherek.分组字段=分...

  • oracle分组

    SELECT c.full_name,MOD(ROWNUM,8) yu FROM t_company c ORDE...

  • 统计一下每一个月份中,温度最高top2

    思路首先按照月份来分组,对组内的数据按照温度来排序取温度最高的前两名,然后分组取RDD代码 关于serialVer...

  • MySQL中row_number的实现

    oracle等数据库中可以方便的使用row_number函数,实现分组取组内特定数据的功能。但是MySQL中并没有...

  • SQL 分组查询取前N条

    平手友梨奈 一、创建测试数据 二、按name分组取val最大的值所在行的数据 本人推荐使用1,3,4,结果显示1,...

  • MySQL按分组取前N记录

    场景:按照ttime(时间)分组,再按照tnum(次数)排序,选择每天次数最大的前2项。 1. 录入测试数据,结果...

  • mysql分组取每组前几条记录

    项目中经常会遇到对数据进行分组排序并取前N条的需求,比如有一张资讯表如下 文章分为多个频道,比如体育新闻、娱乐新闻...

  • Mysql分组取每组前几条记录

    1.数据库表初始化表mygoods为商品表,cat_id为分类id,goods_id为商品id,status为商品...

网友评论

      本文标题:oracle 分组取前10条

      本文链接:https://www.haomeiwen.com/subject/gwycgqtx.html