Memahami Perbezaan Antara COUNT(*) dan COUNT(column_name)
Dalam MySQL, COUNT(*) dan COUNT(column_name) fungsi memainkan peranan penting dalam pengagregatan data. Walaupun kedua-duanya mengembalikan bilangan baris dalam set hasil, terdapat perbezaan halus antara baris tersebut yang boleh menjejaskan ketepatan dan prestasi pertanyaan anda.
COUNT(*) lwn. COUNT(column_name)
Alternatif: COUNT(1)
Fungsi COUNT(1) pada asasnya berkelakuan sama seperti COUNT(). Ia mengira semua baris dalam set hasil kerana 1 tidak pernah batal. Akibatnya, COUNT(1) menawarkan kelebihan prestasi yang sama COUNT().
Demonstrasi
Untuk menggambarkan perbezaan antara fungsi ini, pertimbangkan mengikuti contoh:
CREATE TABLE table1 (x INT NULL); INSERT INTO table1 (x) VALUES (1), (2), (NULL); SELECT COUNT(*) AS a, COUNT(x) AS b, COUNT(1) AS c FROM table1;
Keputusan:
a b c 3 2 3
Seperti yang anda boleh lihat, COUNT() mengembalikan 3, mengira kedua-dua nilai null dan non-null . COUNT(x) mengembalikan 2, tidak termasuk nilai nol. Dan COUNT(1) sepadan dengan kiraan COUNT() pada 3.
Atas ialah kandungan terperinci COUNT(*) vs. COUNT(column_name): Bilakah Anda Harus Menggunakan Fungsi MySQL Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!