Rumah > Artikel > pangkalan data > COUNT(*) lwn. COUNT(column_name): Apakah Perbezaan dalam MySQL?
Memahami Perbezaan antara COUNT(*) dan COUNT(column_name)
MySQL menyediakan dua fungsi kiraan: COUNT(*) dan COUNT( nama_lajur). Kedua-dua fungsi mengira bilangan baris dalam set hasil, tetapi ia berbeza dalam pengendalian nilai NULL.
COUNT(*)
COUNT(column_name)
Perbezaan Utama
Feature | COUNT(*) | COUNT(column_name) |
---|---|---|
NULL Values | Includes rows with NULL values | Excludes rows with NULL values |
Performance | May be slower in some cases even if the column has no NULL values | Generally slower due to the need to check each value |
COUNT(1)
COUNT(1) bersamaan dengan COUNT(*). Ini kerana 1 tidak boleh menjadi NULL. Oleh itu, ia juga mengira semua baris dalam set hasil.
Contoh
Pertimbangkan jadual berikut bernama "jadual1":
CREATE TABLE table1 (x INT NULL); INSERT INTO table1 (x) VALUES (1), (2), (NULL);
Sekarang , mari kita bandingkan keputusan tiga fungsi kiraan:
SELECT COUNT(*) AS a, COUNT(x) AS b, COUNT(1) AS c FROM table1;
Keputusan:
a b c 3 2 3
Seperti yang anda lihat, COUNT() mengira semua tiga baris, tanpa mengira nilai NULL dalam lajur "x". COUNT(x) mengecualikan baris dengan nilai NULL, menghasilkan kiraan 2. COUNT(1) menghasilkan hasil yang sama seperti COUNT() kerana 1 tidak boleh NULL.
Atas ialah kandungan terperinci COUNT(*) lwn. COUNT(column_name): Apakah Perbezaan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!