我想运行总计,但是over子句中没有要使用的唯一列或id列。
CREATE TABLE piv2([name] varchar(5), [no] int);
INSERT INTO piv2
([name], [no])
VALUES
('a', 1),
('a', 2),
('a', 3),
('a', 4),
('b', 1),
('b', 2),
('b', 3);
只有2列,名称具有重复的值,而我想在SQL Server 2017中总计运行的编号为否。
预期结果:
a 1
a 3
a 6
a 10
b 11
b 13
b 16
有帮助吗?
答案 0 :(得分:0)
以下查询将生成您期望的输出,至少是针对您确实向我们展示的示例数据:
SELECT
name,
SUM(no) OVER (ORDER BY name, no) AS no_sum
FROM piv2;
如果打算用于滚动总和的顺序不同于name
和no
列给出的顺序,那么您应该将该逻辑与样本数据一起显示。