Rumah >pangkalan data >tutorial mysql >COUNT(*) vs. COUNT(nama lajur): Bilakah Saya Perlu Menggunakan Setiap?

COUNT(*) vs. COUNT(nama lajur): Bilakah Saya Perlu Menggunakan Setiap?

Linda Hamilton
Linda Hamiltonasal
2025-01-07 07:51:39515semak imbas

COUNT(*) vs. COUNT(column-name): When Should I Use Each?

Bila Menggunakan COUNT(*) vs. COUNT(nama lajur)

Dalam SQL, kedua-dua COUNT(*) dan COUNT( nama lajur) ialah fungsi agregat yang biasa digunakan untuk mengira bilangan baris dalam set data. Walau bagaimanapun, terdapat perbezaan yang ketara antara mereka.

COUNT(*)

COUNT(*) mengira semua baris dalam jadual atau set yang ditentukan, tidak kira sama ada lajur individu mempunyai nilai NULL. Pada asasnya, ia mengira keseluruhan baris, termasuk mana-mana sel kosong.

COUNT(nama lajur)

COUNT(nama lajur) hanya mengira nilai bukan NULL dalam lajur tertentu. Jika baris mempunyai nilai NULL dalam lajur yang ditentukan, ia tidak akan disertakan dalam kiraan.

Kes Penggunaan Khusus

  • Gunakan COUNT(*) apabila anda ingin mengira semua baris, tidak kira sama ada ia mengandungi nilai NULL. Ini selalunya digunakan untuk kiraan baris keseluruhan atau apabila anda tidak mengambil berat tentang lajur tertentu.
  • Gunakan COUNT(nama lajur) apabila anda mahu mengira nilai bukan NULL sahaja dalam lajur tertentu. Ini berguna apabila anda ingin menganalisis pengedaran data atau mengenal pasti baris dengan maklumat yang tiada.

Mata Tambahan

  • COUNT(1) ialah bersamaan dengan COUNT(*) kerana 1 ialah ungkapan bukan NULL.
  • Pilihan anda antara COUNT(*) dan COUNT(nama lajur) hendaklah bergantung sepenuhnya pada output yang diingini dan konteks khusus pertanyaan anda.

Atas ialah kandungan terperinci COUNT(*) vs. COUNT(nama lajur): Bilakah Saya Perlu Menggunakan Setiap?. 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