【发布时间】:2020-09-08 15:57:39
【问题描述】:
假设数据集是:
Class Value Ordering
A 10 1
A 13 2
...
B 20 1
B 7 2
...
我希望能够找到总价值最高的10个班级,然后输出每个班级的累计总和。
到目前为止,我已经创建了一个脚本来确定最大的 10 个:
SELECT Class
FROM Table
GROUP BY Class
ORDER BY sum(Value) DESC
LIMIT 10;
以及一个查找特定类的累积和的脚本:
SELECT sum(Value) OVER (
ORDER BY Ordering
ROWS BETWEEN
UNBOUNDED PRECEDING
AND CURRENT ROW
) AS cumulativeSum
FROM Table
WHERE Class = 'A'
ORDER BY Ordering ASC;
但我找不到将过程组合在一起的方法
编辑:
假设 A 和 B 是两个最高的类,输出将是:
A B
10 20
23 27
如果 C 类不是 10 个最大的类之一,则不会输出
【问题讨论】:
标签: sql database sqlite sum window-functions