Die Unterschiede zwischen COUNT(*) und COUNT(Spaltenname) verstehen
In MySQL sind COUNT(*) und COUNT(Spaltenname) Funktionen spielen eine entscheidende Rolle bei der Datenaggregation. Obwohl beide die Anzahl der Zeilen in einem Ergebnissatz zurückgeben, gibt es subtile Unterschiede zwischen ihnen, die sich auf die Genauigkeit und Leistung Ihrer Abfragen auswirken können.
COUNT(*) vs. COUNT(column_name)
Alternative: COUNT(1)
Die Funktion COUNT(1) verhält sich im Wesentlichen genauso wie COUNT(). Es zählt alle Zeilen in der Ergebnismenge, da 1 niemals null ist. Daher bietet COUNT(1) die gleichen Leistungsvorteile wie COUNT().
Demonstration
Um die Unterschiede zwischen diesen Funktionen zu veranschaulichen, betrachten Sie die folgende Beispiel:
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;
Ergebnis:
a b c 3 2 3
Wie Sie sehen können, gibt COUNT() 3 zurück und zählt sowohl Null- als auch Nicht-Nullwerte . COUNT(x) gibt 2 zurück, ohne den Nullwert. Und COUNT(1) entspricht der Anzahl von COUNT() bei 3.
Das obige ist der detaillierte Inhalt vonCOUNT(*) vs. COUNT(column_name): Wann sollten Sie welche MySQL-Funktion verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!