在 MySQL 中创建累积和列
在 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>
此查询通过将当前行与表中所有之前的行关联来计算每行的累积和,有效地聚合计数值。
或者,您可以使用 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>
此方法使用与内联视图的交叉连接来初始化和更新变量 @running_total
,该变量跟踪累积和。请注意,此方法是 MySQL 特定的,可能无法移植到其他数据库。
两种方法都需要 ORDER BY
子句来确保结果与所需的累积和计算一致。在选择在 MySQL 中创建累积和列的最合适方法时,请考虑应用程序的上下文和性能要求。
以上是MySQL中如何高效计算累计和?的详细内容。更多信息请关注PHP中文网其他相关文章!