【问题标题】:How to get Running total in SQL when values are not same?当值不同时,如何在 SQL 中获得运行总计?
【发布时间】:2016-08-02 13:20:57
【问题描述】:

我正在尝试获取一周的运行总计(例如在 Excel 数据透视表中显示为“运行总计”。

我已尝试使用以下查询。

select A.*,
(SELECT SUM(b.value)
            FROM Tbl_Running_Total_Test B
            WHERE   B.Fweek <= A.Fweek
                    AND A.level1=B.level1
                    AND A.level2=B.level2
                    AND A.level3=B.level3
                    AND A.level4=B.level4
            )
 from Tbl_Running_Total_Test A 

这是一个 SQL Fiddle:SQl Fiddle Sample table

如果我使用上述查询,我​​不会得到预期的结果。

【问题讨论】:

    标签: sql sql-server excel sql-server-2008


    【解决方案1】:

    你的 3 级和 4 级有多余的字符,所以这就是为什么它没有加起来:

    (4,'1QAB','2XMN','3YOPq','4ZGHi',25),
    (4,'1QAc','2XMo','3YOqr','4ZGij',74),
    (4,'1QAd','2XMp','3YOrs','4ZGjk',86),
    (4,'1QAe','2XMq','3YOst','4ZGkl',97);
    

    其他的都是这样的:

    (3,'1QAB','2XMN','3YOP','4ZGH',40),
    (3,'1QAc','2XMo','3YOq','4ZGi',60),
    (3,'1QAd','2XMp','3YOr','4ZGj',80),
    (3,'1QAe','2XMq','3YOs','4ZGk',120),
    

    【讨论】:

    • 同意,在查看 level1 或 Level2 的值时,有没有办法得到想要的结果
    • @Punith 好吧,这取决于您的要求。去掉最后一个字符,根本不匹配关卡……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多