首页 > 解决方案 > 将列值添加到 SQL 中的下一列

问题描述

我的 sql 表是

Week    Year    Applications
1       2017    0
2       2017    10
3       2017    20
4       2017    50
5       2017    0
1       2018    10
2       2018    0
3       2018    40
4       2018    50
5       2018    10

我想要给出以下输出的 SQL 查询

Week    Year    Applications
1       2017    0
2       2017    10
3       2017    30
4       2017    80
5       2017    80
1       2018    10
2       2018    10
3       2018    50
4       2018    100
5       2018    110

谁能帮我写下查询?

标签: sqlsql-server

解决方案


您可以使用SUM() OVER获得累积总和:

SELECT *, SUM(Applications) OVER(PARTITION BY Year ORDER BY Week)
FROM tab

推荐阅读