Heim > Datenbank > MySQL-Tutorial > COUNT(*) vs. COUNT(column_name): Wann sollten Sie Which in MySQL verwenden?

COUNT(*) vs. COUNT(column_name): Wann sollten Sie Which in MySQL verwenden?

DDD
Freigeben: 2024-11-27 14:29:11
Original
934 Leute haben es durchsucht

COUNT(*) vs COUNT(column_name): When Should You Use Which in MySQL?

COUNT(*) vs COUNT(column_name): Die Unterschiede in MySQL verstehen

In MySQL bietet die Funktion COUNT() eine praktische Funktion Möglichkeit, die Anzahl der Zeilen in einer Ergebnismenge zu zählen. Es gibt jedoch zwei Varianten dieser Funktion, die zu unterschiedlichen Ergebnissen führen können: COUNT(*) und COUNT(Spaltenname). Das Verständnis der Unterscheidung zwischen diesen beiden Varianten ist für eine genaue Datenaggregation und -optimierung von entscheidender Bedeutung.

COUNT(*): Zählen von Zeilen unabhängig von NULL-Werten

COUNT( ) ist eine einfache Funktion, die einfach alle Zeilen in der Ergebnismenge zählt. Es enthält Zeilen, die für jede Spalte NULL-Werte enthalten können. Das bedeutet, dass COUNT() eine Gesamtzahl aller Datensätze liefert, unabhängig von ihrem Dateninhalt.

COUNT(column_name): Zählen von Nicht-NULL-Werten in einer bestimmten Spalte

Im Gegensatz zu COUNT() zählt COUNT(column_name) speziell Nicht-NULL-Werte im angegebenen Spalte. Diese Funktion umfasst nur Zeilen, in denen der Wert von „column_name“ nicht null ist. Folglich kann COUNT(column_name) eine niedrigere Anzahl als COUNT() zurückgeben, wenn in dieser Spalte NULL-Werte vorhanden sind.

Beispiel: Demonstration des Unterschieds

Um den Unterschied zu veranschaulichen, betrachten Sie die folgende Tabelle:

CREATE TABLE table1 (x INT NULL);
INSERT INTO table1 (x) VALUES (1), (2), (NULL);
Nach dem Login kopieren

Führen Sie Folgendes aus Abfrage:

SELECT
    COUNT(*) AS a,
    COUNT(x) AS b,
    COUNT(1) AS c
FROM table1;
Nach dem Login kopieren

ergibt die folgenden Ergebnisse:

a   b   c
3   2   3
Nach dem Login kopieren

In diesem Szenario gibt COUNT() (Spalte „a“) ​​3 zurück, da alle drei Zeilen gezählt werden. einschließlich der mit einem NULL-Wert für Spalte „x“. COUNT(x) (Spalte „b“) hingegen gibt 2 zurück, da nur die Zeilen gezählt werden, in denen Spalte „x“ einen Wert ungleich NULL hat. COUNT(1) (Spalte „c“), das äquivalent zu COUNT() ist, gibt ebenfalls 3 zurück.

Wenn Sie den Unterschied zwischen COUNT(*) und COUNT(Spaltenname) verstehen, können Sie dies effektiv tun Aggregieren und analysieren Sie Daten in Ihren MySQL-Abfragen.

Das obige ist der detaillierte Inhalt vonCOUNT(*) vs. COUNT(column_name): Wann sollten Sie Which in MySQL 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage