gpt4 book ai didi

SQL累积计数

转载 作者:行者123 更新时间:2023-12-02 15:34:44 25 4
gpt4 key购买 nike

我有部门表。我需要统计哪个部门有多少人。这很容易完成

SELECT DEPT,
COUNT(*) as 'Total'
FROM SR
GROUP BY DEPT;

现在我还需要进行如下累积计数:

enter image description here

我发现了一些 SQL 来计算运行总数,但没有像这样的情况。对于这种情况,您能给我一些建议吗?

最佳答案

这是一种使用 CTE 而不是光标来完成此操作的方法:

WITH Base AS
(
SELECT ROW_NUMBER() OVER (ORDER BY [Count] DESC) RowNum,
[Dept],
[Count]
FROM SR
)
SELECT SR.Dept, SR.Count, SUM(SR2.[Count]) Total
FROM Base SR
INNER JOIN Base SR2
ON SR2.RowNum <= SR.RowNum
GROUP BY SR.Dept, SR.Count
ORDER BY SR.[Count] DESC

请注意,这是按 Count 降序排序的,就像您的示例结果一样。如果未显示其他应用于排序的列,只需替换每个 ORDER BY 子句中的 Count 即可。

SQL Fiddle Demo

关于SQL累积计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19361337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com