建立一個在MySQL中進行累積求和的列
P粉670838735
2023-08-22 11:26:08
<p>我有一個看起來像這樣的表:</p>
<pre class="brush:php;toolbar:false;">id count
1 100
2 50
3 10</pre>
<p>我想要新增一個名為cumulative_sum的新列,所以表看起來像這樣:</p>
<pre class="brush:php;toolbar:false;">id count cumulative_sum
1 100 100
2 50 150
3 10 160</pre>
<p>有沒有一條MySQL更新語句可以輕鬆實現這個?最好的方法是什麼? </p>
使用相關查詢:
使用MySQL變數:
注意:
JOIN (SELECT @running_total := 0) r
是一個交叉連接,允許在不需要單獨的SET
命令的情況下宣告變數。r
注意事項:
ORDER BY
非常重要,它確保順序與原始問題匹配,並且對於更複雜的變數使用(例如:偽ROW_NUMBER/RANK功能,MySQL不支援)可能會有更大的影響如果效能是一個問題,你可以使用MySQL變數:
或者,你可以移除
cumulative_sum
列,並在每個查詢中計算它:這樣以連續的方式計算累積和 :)