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
Lepaskan: 2025-01-11 06:40:42
asal
721 orang telah melayarinya

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:

SELECT COUNT(CASE WHEN Position = 'Manager' THEN 1 ELSE NULL END) AS ManagerCount
FROM ...
Salin selepas log masuk

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

Sebagai alternatif, anda boleh menggunakan SUM():

SELECT SUM(CASE WHEN Position = 'Manager' THEN 1 ELSE 0 END) AS ManagerCount
FROM ...
Salin selepas log masuk

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