Buat lajur untuk jumlah kumulatif dalam MySQL
P粉670838735
2023-08-22 11:26:08
<p>Saya mempunyai jadual yang kelihatan seperti ini:</p>
<pre class="brush:php;toolbar:false;">kiraan id
1 100
2 50
3 10</pra>
<p>Saya mahu menambah lajur baharu yang dipanggil kumulatif_sum, jadi jadual kelihatan seperti ini: </p>
<pre class="brush:php;toolbar:false;">id count cumulative_sum
1 100 100
2 50 150
3 10 160</pra>
<p>Adakah terdapat pernyataan kemas kini MySQL yang boleh mencapai ini dengan mudah? Apakah pendekatan terbaik? </p>
Gunakan pertanyaan berkaitan:
Gunakan pembolehubah MySQL:
Nota:
JOIN (SELECT @running_total := 0) r
是一个交叉连接,允许在不需要单独的SET
Isytiharkan pembolehubah dalam konteks arahan.r
Nota:
ORDER BY
Sangat penting, ia memastikan pesanan sepadan dengan soalan asal, dan mungkin mempunyai kesan yang lebih besar untuk penggunaan pembolehubah yang lebih kompleks (cth: fungsi ROW_NUMBER/RANK semu, tidak disokong oleh MySQL)Jika prestasi adalah isu, anda boleh menggunakan pembolehubah MySQL:
Sebagai alternatif, anda boleh mengalih keluar lajur
cumulative_sum
dan mengiranya dalam setiap pertanyaan:Ini mengira jumlah kumulatif secara berterusan :)