gpt4 book ai didi

MYSQL 计算 YTD

转载 作者:行者123 更新时间:2023-11-30 21:51:36 25 4
gpt4 key购买 nike

我开始学习MYSQL,手头有个问题我想不通。我的表看起来像这样:

OU 日期金额
A20 201701 1000
A20 201705 1000
A20 201708 1000
B10 201702 1000
B10 201705 1000
我想要的是按如下所示的 OU 计算每一行的 YTD 金额:

OU 日期 Amt YTD
A20 201701 1000 1000
A20 201705 1000 2000
A20 201708 1000 3000
B10 201702 1000 1000
B10 201705 1000 2000

我尝试了不同的 sum 和 sumif 函数,但无法得到正确的结果。谁能帮忙?非常感谢任何输入!

最佳答案

一种方法使用相关子查询:

SELECT
OU,
Date,
Amt,
(SELECT SUM(t2.Amt) FROM yourTable t2
WHERE t1.OU = t2.OU AND t2.Date <= t1.Date) AS YTD
FROM
yourTable t1
ORDER BY
OU, Date;

子查询使用的技巧是,对于表中的每条记录,从与当前记录共享相同 OU 值的那些记录中计算当前或更早日期的金额。您可以浏览下面的演示以更好地理解。

此处演示:

Rextester

关于MYSQL 计算 YTD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46967729/

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