Mengira Jumlah Berjalan dengan Cekap dalam MySQL
Pendekatan tradisional MySQL untuk mengira jumlah berjalan menggunakan penugasan berubah kini tidak digunakan lagi. Artikel ini menunjukkan kaedah moden dan cekap untuk mencapai hasil yang sama tanpa bergantung pada ciri yang tidak digunakan.
Pertanyaan tunggal yang dioptimumkan menyediakan penyelesaian yang unggul:
<code class="language-sql">SET @running_total := 0; SELECT DAYOFYEAR(`date`) AS day_of_year, COUNT(*) AS daily_count, (@running_total := @running_total + COUNT(*)) AS running_total FROM `orders` WHERE `hasPaid` > 0 GROUP BY day_of_year ORDER BY day_of_year;</code>
Pertanyaan ini memulakan pembolehubah, @running_total
, kepada sifar. Fungsi teras terletak pada ungkapan (@running_total := @running_total COUNT(*))
. Kemas kini @running_total
secara kumulatif dengan COUNT(*)
untuk setiap hari, menghasilkan jumlah larian (running_total
) bersama-sama kiraan harian (daily_count
) dan hari dalam setahun (day_of_year
). Hasilnya ialah pengiraan jumlah larian yang ringkas dan berkesan, menghapuskan keperluan untuk pengendalian pembolehubah yang ditamatkan.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Berjalan dalam MySQL Tanpa Menggunakan Pembolehubah Dihentikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!