Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengira Baris Memenuhi Syarat Khusus Dalam Fungsi COUNT()?

Bagaimanakah Saya Boleh Mengira Baris Memenuhi Syarat Khusus Dalam Fungsi COUNT()?

Linda Hamilton
Linda Hamiltonasal
2025-01-11 06:40:42638semak imbas

How Can I Count Rows Meeting Specific Conditions Within a COUNT() Function?

Pengiraan Bersyarat Dalam Fungsi COUNT()

Anda boleh memasukkan syarat terus ke dalam fungsi COUNT() anda. Ini amat berguna apabila anda perlu mengira baris yang memenuhi kriteria berbeza dalam satu pertanyaan SQL, mengelakkan keperluan untuk berbilang pertanyaan atau subkueri. Contohnya, mengira bilangan "Pengurus" dan "Pekerja" dalam satu penyata SELECT.

Kuncinya ialah menggunakan ungkapan CASE dalam fungsi COUNT(). COUNT() hanya mengira nilai bukan NULL. Oleh itu:

<code class="language-sql">SELECT COUNT(CASE WHEN Position = 'Manager' THEN 1 ELSE NULL END) AS ManagerCount
FROM ...</code>

Ini hanya mengira baris dengan Position ialah 'Pengurus'. ELSE NULL memastikan baris yang tidak memenuhi syarat tidak dikira.

Sebagai alternatif, anda boleh menggunakan SUM():

<code class="language-sql">SELECT SUM(CASE WHEN Position = 'Manager' THEN 1 ELSE 0 END) AS ManagerCount
FROM ...</code>

Ini mencapai hasil yang sama; SUM() menambah 1 untuk setiap 'Pengurus' dan 0 untuk semua yang lain. Pendekatan ini boleh menjadi lebih cekap sedikit dalam beberapa sistem pangkalan data. Kedua-dua kaedah mengelakkan keperluan untuk klausa WHERE yang berasingan, menjadikannya ideal untuk mengira berbilang kategori serentak.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Baris Memenuhi Syarat Khusus Dalam Fungsi COUNT()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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