gpt4 book ai didi

mysql - 在 MySQL 中计算运行总计

转载 作者:行者123 更新时间:2023-11-29 20:12:00 25 4
gpt4 key购买 nike

我有这个 MySQL 查询:

SELECT DAYOFYEAR(`date`)  AS d, COUNT(*) 
FROM `orders`
WHERE `hasPaid` > 0
GROUP BY d
ORDER BY d

返回类似这样的内容:

d  | COUNT(*) |
20 | 5 |
21 | 7 |
22 | 12 |
23 | 4 |

我真正想要的是最后的另一列来显示运行总计:

d  | COUNT(*) | ??? |
20 | 5 | 5 |
21 | 7 | 12 |
22 | 12 | 24 |
23 | 4 | 28 |

这可能吗?

最佳答案

也许对您来说是一个更简单的解决方案,并且可以防止数据库执行大量查询。这仅执行一个查询,然后在一次传递中对结果进行一些数学运算。

SET @runtot:=0;
SELECT
q1.d,
q1.c,
(@runtot := @runtot + q1.c) AS rt
FROM
(SELECT
DAYOFYEAR(`date`) AS d,
COUNT(*) AS c
FROM `orders`
WHERE `hasPaid` > 0
GROUP BY d
ORDER BY d) AS q1

这将为您提供一个额外的 RT(运行总计)列。不要错过顶部的 SET 语句,首先初始化运行总计变量,否则您只会得到一列 NULL 值。

关于mysql - 在 MySQL 中计算运行总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40030028/

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