Zählen unterschiedliche Werte in MySQL
In diesem Tutorial stellen wir verschiedene Methoden vor, um unterschiedliche Werte zu zählen.
Die Methode COUNT()
in MySQL liefert als Ausgabe die Gesamtzahl der Zeilen in der Tabelle. In diesem Artikel möchten wir jedoch verstehen, wie die Anzahl der unterschiedlichen Vorkommen eines Ausdrucks berechnet oder gezählt wird. Die Syntax zum Ausführen dieser Operation kann als COUNT(DISTINCT expression)
geschrieben werden. Dieser Befehl gibt uns die Gesamtzahl der unterschiedlichen Nicht-Null-Werte als Ausgabe des jeweiligen Ausdrucks.
Sehen wir uns diese Methode in Aktion an.
Bevor wir jedoch beginnen, erstellen wir ein Dummy-Dataset, mit dem wir arbeiten können. Hier erstellen wir eine Tabelle, student_details
, zusammen mit einigen Zeilen darin.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
Die obige Abfrage erstellt eine Tabelle zusammen mit Zeilen mit dem Vor- und Nachnamen des Schülers. Um die Einträge in den Daten einzusehen, verwenden wir folgenden Code:
SELECT * FROM student_details;
Der obige Code würde die folgende Ausgabe ergeben.
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Zählen unterschiedliche Werte in MySQL
Die MySQL-Funktion COUNT (DISTINCT expression)
, wie oben erwähnt, liefert uns die Anzahl der Zeilen mit eindeutigen Werten ungleich Null. Um die Anzahl der Schüler mit eindeutigen Vornamen zu zählen, verwenden wir den folgenden Code.
-- Count the number of students with different first names
SELECT COUNT(DISTINCT stu_firstName) as distinct_first_names FROM student_details ;
Der obige Code zählt die Anzahl der eindeutigen Vornamen aus der Tabelle student_details
. Die Ausgabe des obigen Codes ist wie folgt.
distinct_first_names
7
Somit können wir sehen, dass die eindeutigen Namen (Preet, Rich, Veron, Geo, Hash, Sachin und David) gezählt wurden, um die endgültige Zählung als 7 zu generieren.
Hinweis: Im obigen Code verwenden wir den Alias distinct_first_names
mit als AS
-Schlüsselwort in MySQL.