Heim > Datenbank > MySQL-Tutorial > Hauptteil

COUNT(*) vs. COUNT(column_name): Was ist der Unterschied und wann sollten Sie beide verwenden?

Patricia Arquette
Freigeben: 2024-11-17 22:49:02
Original
177 Leute haben es durchsucht

COUNT(*) vs. COUNT(column_name): What's the Difference and When Should You Use Each?

Die Unterschiede zwischen COUNT(*) und COUNT(column_name) verstehen

Bei der Arbeit mit SQL-Abfragen ist es wichtig, den Unterschied zwischen zu verstehen COUNT(*) und COUNT(Spaltenname), um die Genauigkeit sicherzustellen Ergebnisse.

COUNT(*)

COUNT(*) zählt alle Zeilen im Ergebnissatz, unabhängig davon, ob sie NULL-Werte enthalten. Dies ist die umfassendste Zählung, da jede Zeile berücksichtigt wird, die die Abfragekriterien erfüllt.

COUNT(column_name)

COUNT(column_name) zählt nur die Zeilen, in denen die Die angegebene Spalte ist nicht NULL. Diese Funktion ignoriert Zeilen mit fehlenden Werten für die angegebene Spalte.

Auswirkungen auf die Leistung

COUNT() kann rechenintensiver sein als COUNT(column_name), wenn es vorhanden ist Es gibt viele NULL-Werte in der Tabelle. Da COUNT() unabhängig davon jede Zeile überprüfen muss, kann die Leistung in solchen Szenarien langsamer sein.

Alternative zu COUNT(*)

COUNT(1) ist eine Alternative zu COUNT(*), die auch die Gesamtzahl der Zeilen zurückgibt. Es wird jedoch unabhängig von anderen Spaltenwerten immer ein Wert ungleich NULL ausgewertet.

Experimentelle Demonstration

Um den Unterschied in den Ergebnissen zu veranschaulichen, betrachten Sie die folgende Tabelle und Abfrage:

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;
Nach dem Login kopieren

Ergebnis:

a   b   c
3   2   3
Nach dem Login kopieren

Wie Sie sehen können, gibt COUNT() 3 zurück, da alle Zeilen gezählt werden, während COUNT( x) gibt 2 zurück, mit Ausnahme der NULL-Wertzeile. COUNT(1) ist von COUNT() nicht zu unterscheiden und gibt ebenfalls 3 zurück.

Das obige ist der detaillierte Inhalt vonCOUNT(*) vs. COUNT(column_name): Was ist der Unterschied und wann sollten Sie beide verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage