Den Unterschied zwischen COUNT(*) und COUNT(Spaltenname) verstehen
MySQL bietet zwei Zählfunktionen: COUNT(*) und COUNT( Spaltenname). Beide Funktionen zählen die Anzahl der Zeilen in einer Ergebnismenge, unterscheiden sich jedoch in der Behandlung von NULL-Werten.
COUNT(*)
COUNT(column_name)
Hauptunterschiede
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) entspricht COUNT(*). Dies liegt daran, dass 1 niemals NULL sein kann. Daher werden auch alle Zeilen im Ergebnissatz gezählt.
Beispiel
Betrachten Sie die folgende Tabelle mit dem Namen „table1“:
CREATE TABLE table1 (x INT NULL); INSERT INTO table1 (x) VALUES (1), (2), (NULL);
Jetzt Vergleichen wir die Ergebnisse der drei Zählfunktionen:
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, zählt COUNT() alle drei Zeilen, unabhängig vom NULL-Wert in der Spalte „x“. COUNT(x) schließt die Zeile mit dem NULL-Wert aus, was zu einer Anzahl von 2 führt. COUNT(1) liefert das gleiche Ergebnis wie COUNT(), da 1 nicht NULL sein kann.
Das obige ist der detaillierte Inhalt vonCOUNT(*) vs. COUNT(column_name): Was ist der Unterschied in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!