本指南詳細介紹了在 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中文網其他相關文章!