Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggunakan COUNT() untuk Mengira Baris Berdasarkan Syarat?

Bagaimanakah Saya Boleh Menggunakan COUNT() untuk Mengira Baris Berdasarkan Syarat?

Barbara Streisand
Lepaskan: 2025-01-11 08:27:41
asal
318 orang telah melayarinya

How Can I Use COUNT() to Count Rows Based on a Condition?

Pengiraan bersyarat dalam fungsi COUNT()

Dalam sesetengah kes, anda mungkin perlu mengira baris berdasarkan kriteria tertentu dan bukannya mendapatkan jumlah kiraan. Sebagai contoh, kita mungkin mahu mengira hanya baris yang mempunyai nilai tertentu dalam lajur tertentu.

Menggunakan fungsi COUNT(), anda boleh menentukan syarat untuk menapis baris untuk pengiraan. Ini boleh dicapai dengan menggunakan ungkapan CASE bersama-sama dengan fungsi COUNT(), seperti yang ditunjukkan dalam coretan kod berikut:

select count(case Position when 'Manager' then 1 else null end)
from ...
Salin selepas log masuk

Dalam contoh ini, kami hanya mengira baris dengan nilai lajur 'Kedudukan' ialah 'Pengurus'. Ungkapan CASE menilai lajur 'Kedudukan' setiap baris. Mengembalikan 1 jika nilai lajur sepadan dengan 'Pengurus' jika tidak, mengembalikan null. Ini memastikan bahawa hanya baris yang mengandungi 'Pengurus' dalam lajur 'Kedudukan' dikira.

Sebagai alternatif, anda boleh menggunakan fungsi SUM() dengan cara yang sama:

select sum(case Position when 'Manager' then 1 else 0 end)
from ...
Salin selepas log masuk

Kaedah ini juga menggunakan ungkapan CASE untuk menapis baris. Walau bagaimanapun, untuk baris yang tidak sepadan, ia mengembalikan 0 dan bukannya nol. Fungsi SUM() kemudian mengira jumlah nilai ini, memberikan bilangan baris yang mengandungi 'Pengurus' dalam lajur 'Kedudukan'.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan COUNT() untuk Mengira Baris Berdasarkan Syarat?. 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