Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mendapatkan Berbilang Kiraan daripada Satu Pertanyaan SQL?
Mengoptimumkan Pertanyaan SQL: Mendapatkan Berbilang Kiraan Sekaligus
Artikel ini menunjukkan kaedah diperkemas untuk mendapatkan semula berbilang kiraan menggunakan satu pertanyaan SQL. Kami akan memanfaatkan kuasa pernyataan CASE
bersama-sama dengan fungsi agregat.
Strategi melibatkan penggunaan CASE
untuk mengkategorikan baris berdasarkan lajur level
dan menetapkan kiraan kepada setiap kategori. Kiraan ini kemudiannya diagregatkan menggunakan SUM
untuk memberikan keputusan akhir.
Berikut ialah pertanyaan yang mencapai ini, mengembalikan data dalam satu baris setiap distributor_id
:
<code class="language-sql">SELECT distributor_id, COUNT(*) AS total, SUM(CASE WHEN level = 'exec' THEN 1 ELSE 0 END) AS ExecCount, SUM(CASE WHEN level = 'personal' THEN 1 ELSE 0 END) AS PersonalCount FROM yourtable GROUP BY distributor_id;</code>
Pendekatan ini menyampaikan dengan cekap kedua-dua kiraan keseluruhan dan kiraan individu untuk nilai level
tertentu dalam satu hasil pertanyaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Berbilang Kiraan daripada Satu Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!