gpt4 book ai didi

mysql - 将一列的行添加到每行的另一列中

转载 作者:行者123 更新时间:2023-11-29 02:10:50 25 4
gpt4 key购买 nike

我正在尝试创建一个查询,该查询创建一个列,该列将每行前一列的所有行值相加。我已经尝试过 SUM 和 COUNT,但这并没有给我想要的结果。我该如何解决这个问题?

+----+------+-----+
| id |amount|total|
+----+------+-----+
| 1 | 10 | 10 |
| 2 | 20 | 30 |
| 3 | 15 | 45 |
| 4 | 30 | 75 |
+----+------+-----+

最佳答案

这是一个滚动总和问题。在 MySQL 8.0.2 及更高版本中,您可以使用 Window functions with Frames 解决此问题.在旧版本中,我们可以使用用户定义的 session 变量来做同样的事情。

尝试:

SELECT 
dt.id,
dt.amount,
@tot := @tot + dt.amount AS total
FROM
(
SELECT
id,
amount
FROM your_table_name
ORDER BY id
) AS dt
CROSS JOIN (SELECT @tot := 0) AS user_init

关于mysql - 将一列的行添加到每行的另一列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52984344/

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