在MySQL中建立累積和欄位
為表格新增累積和列(cumulative_sum),需要使用運行總計更新現有列。以下是兩種在MySQL中實現此目的的方法:
使用相關子查詢:
<code class="language-sql">SELECT t.id, t.count, ( SELECT SUM(x.count) FROM table AS x WHERE x.id <= t.id ) AS cumulative_sum FROM table AS t ORDER BY t.id;</code>
此查詢使用巢狀查詢根據ID小於或等於目前行ID的行計算每行的累積和。
使用MySQL變數:
<code class="language-sql">SELECT t.id, t.count, (@running_total := @running_total + t.count) AS cumulative_sum FROM table AS t JOIN (SELECT @running_total := 0) AS r ORDER BY t.id;</code>
此方法利用MySQL變數在迭代行時追蹤運行總計。 @running_total變數初始化為0,然後為每一行遞增計數。
注意:
以上是如何在MySQL中有效率地建立累積和列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!