要求:

数据分组统计,并取前五条数据最大的值

所用函数:

ROW_NUMBER()OVER()

方法:

1、进行正常分组,并对统计数据排序
2、套一层加入ROW_NUMBER()OVER()作为分组索引
3、套一层用 WHERE 只保留小于 5 的数据

例:

SELECT * FROM(
SELECT *,ROW_NUMBER()OVER(PARTITION by n1) rankid
FROM(
    SELECT 
        n1, 
        n2,
        COUNT(1) AS count6
    FROM NEW2024 as n
    WHERE 
        n1 is not null
        and
        n2 is not null
    GROUP BY lower(n2) ORDER BY  n1,count6 DESC
) ) WHERE rankid <=5
分类: 数据库操作 标签: sql

评论

暂无评论数据

暂无评论数据

目录