【问题标题】:Running total over duplicate column values and no other columns对重复的列值而不是其他列运行总计
【发布时间】:2020-04-08 12:39:00
【问题描述】:

我想计算总和,但在 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);

在 SQL Server 2017 中只有 2 列,名称具有重复值,而我想在其上运行总计。

预期结果:

a 1
a 3
a 6
a 10
b 11
b 13
b 16

有什么帮助吗?

【问题讨论】:

    标签: sql sql-server sqlite tsql


    【解决方案1】:

    以下查询将生成您期望的输出,至少对于您向我们展示的确切样本数据而言:

    SELECT
        name,
        SUM(no) OVER (ORDER BY name, no) AS no_sum
    FROM piv2;
    

    如果您打算用于滚动求和的顺序不是 nameno 列给出的顺序,那么您应该显示该逻辑以及示例数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-15
      • 2015-05-21
      • 2019-10-09
      • 2023-02-23
      • 1970-01-01
      • 2021-12-27
      • 2019-12-17
      • 1970-01-01
      相关资源
      最近更新 更多