Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengira Jumlah Berjalan dalam MySQL dengan Satu Pertanyaan?

Bagaimana untuk Mengira Jumlah Berjalan dalam MySQL dengan Satu Pertanyaan?

Linda Hamilton
Lepaskan: 2025-01-22 06:46:10
asal
610 orang telah melayarinya

How to Calculate Running Totals in MySQL with a Single Query?

Mengira Jumlah Berjalan dengan Cekap dalam MySQL dengan Satu Pertanyaan

Panduan ini menunjukkan satu pertanyaan MySQL untuk mengira jumlah berjalan bagi kiraan pesanan harian, dengan mengandaikan data anda termasuk lajur date dan bendera hasPaid yang menunjukkan pembayaran berjaya.

Berikut ialah pertanyaan yang dioptimumkan:

<code class="language-sql">SET @runtot:=0;
SELECT
   DATE(`date`) AS d,
   COUNT(*) AS c,
   (@runtot := @runtot + COUNT(*)) AS rt
FROM  `orders`
WHERE  `hasPaid` > 0
GROUP  BY d
ORDER  BY d;</code>
Salin selepas log masuk

Pertanyaan ini memulakan pembolehubah @runtot kepada sifar. Logik teras kemudian mengira kiraan pesanan harian (COUNT(*) AS c) dan pada masa yang sama mengemas kini jumlah berjalan (@runtot := @runtot COUNT(*) AS rt) dalam satu pernyataan SELECT. Ini mengelakkan keperluan untuk subkueri atau hantaran berbilang, menghasilkan kecekapan yang lebih baik. GROUP BY d kumpulan klausa terhasil mengikut hari dan ORDER BY d memastikan jumlah larian dikira secara berurutan. Kaedah ini cekap menjana jumlah lajur berjalan (rt) bersama-sama kiraan pesanan harian (c) dan hari (d).

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Berjalan dalam MySQL dengan Satu Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan