Manakah Lebih Betul: COUNT(*) lwn. COUNT(nama lajur)?
Fungsi agregat SQL COUNT boleh digunakan dalam dua cara: COUNT(*) dan COUNT(nama lajur). Walaupun kedua-dua kaedah bertujuan untuk mengira bilangan baris, terdapat perbezaan yang ketara untuk dipertimbangkan.
COUNT(*)
- Mengira semua baris, walaupun dengan nilai NULL.
- Berguna apabila mendapatkan jumlah kiraan rekod tanpa mengambil kira data ketersediaan.
COUNT(nama lajur)
- Mengira nilai bukan NULL sahaja.
- Lebih khusus dan boleh digunakan untuk mengira bilangan baris dengan nilai tertentu atau untuk menapis keluar NULLs.
Dalam kod contoh anda:
-
COUNT(*): Mengira semua baris dalam kumpulan, termasuk mana-mana dengan nilai yang tiada.
-
COUNT(customerid): Hanya mengira baris dengan ID pelanggan. Ia menapis mana-mana baris dengan ID pelanggan NULL.
Memilih antara COUNT(*) dan COUNT(nama lajur) bergantung pada output yang diingini:
- Untuk mengira jumlah bilangan baris, tanpa mengira NULL, gunakan COUNT(*).
- Untuk mengira bukan NULL nilai sahaja, gunakan COUNT(nama lajur).
Atas ialah kandungan terperinci COUNT(*) lwn. COUNT(nama lajur): Fungsi Agregat SQL Mana Yang Perlu Saya Gunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!