本指南详细介绍了在 MySQL 数据库中生成累积和列的两种有效方法。
方法一:利用相关子查询
此方法采用相关子查询来计算累积和:
<code class="language-sql">SELECT t.id, t.count, (SELECT SUM(x.count) FROM TABLE x WHERE x.id <= t.id) AS cumulative_sum FROM TABLE t ORDER BY t.id;</code>
嵌入在 AS
子句中的相关子查询动态计算每行的累积和。 它将从表开头到当前行的 count
的 id
值相加。
方法 2:利用 MySQL 变量
MySQL变量提供了另一种累积和计算方法:
<code class="language-sql">SELECT t.id, t.count, @running_total := @running_total + t.count AS cumulative_sum FROM TABLE t JOIN (SELECT @running_total := 0) r ORDER BY t.id;</code>
此方法使用交叉连接将 MySQL 变量 @running_total
初始化为 0。 当查询迭代 TABLE t
中的每一行时,@running_total
会累积 count
值,产生累积和。
重要注意事项:
ORDER BY
子句来确保准确的累积和计算。 行的顺序决定了求和的顺序。以上是如何在MySQL中高效生成累积和列?的详细内容。更多信息请关注PHP中文网其他相关文章!