Sqlite 分组后提取前 5 条数据思路
要求:
数据分组统计,并取前五条数据最大的值
所用函数:
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
版权申明
本文系作者 @开关 原创发布在python 全栈站点。未经许可,禁止转载。
暂无评论数据