Die MySQL-Funktion count() wird verwendet, um die Anzahl eines Ausdrucks zurückzugeben. Es ermöglicht uns, alle Zeilen oder nur einige Zeilen der Tabelle zu zählen, die einer bestimmten Bedingung entsprechen. Es handelt sich um eine Art Aggregatfunktion, deren Rückgabetyp BIGINT ist. Diese Funktion gibt 0 zurück, wenn sie keine passenden Zeilen findet.
Wir können die Zählfunktion in drei Formen verwenden, die im Folgenden erläutert werden:
- Zählen (*)
- Anzahl (Ausdruck)
- Anzahl (eindeutig)
Lassen Sie uns jedes im Detail besprechen.
COUNT(*) Funktion: Diese Funktion verwendet die SELECT-Anweisung, um die Anzahl der Zeilen in einer Ergebnismenge zurückzugeben. Die Ergebnismenge enthält alle Nicht-Null-, Null- und Duplikatzeilen.
COUNT(Ausdruck) Funktion: Diese Funktion gibt die Ergebnismenge zurück, ohne Nullzeilen als Ergebnis eines Ausdrucks zu enthalten.
COUNT(eindeutiger Ausdruck) Funktion: Diese Funktion gibt als Ergebnis des Ausdrucks die Anzahl unterschiedlicher Zeilen zurück, ohne NULL-Werte zu enthalten.
Syntax
Im Folgenden finden Sie die Syntax der Funktion COUNT():
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
Parametererklärung
aggregat_ausdruck: Es gibt die Spalte oder den Ausdruck an, deren NICHT-NULL-Werte gezählt werden.
Tabellenname: Es gibt die Tabellen an, aus denen Sie Datensätze abrufen möchten. In der FROM-Klausel muss mindestens eine Tabelle aufgeführt sein.
WO-Bedingungen: Es ist optional. Es gibt die Bedingungen an, die erfüllt sein müssen, damit die Datensätze ausgewählt werden.
Beispiel für die Funktion MySQL count()
Stellen Sie sich eine Tabelle mit dem Namen „Mitarbeiter“ vor, die die folgenden Daten enthält.
Lassen Sie uns verstehen, wie count()-Funktionen funktionieren MySQL .
Beispiel 1
Führen Sie die folgende Abfrage aus, die die Funktion COUNT(Ausdruck) verwendet, um die Gesamtzahl der in der Tabelle verfügbaren Mitarbeiternamen zu berechnen:
mysql> SELECT COUNT(emp_name) FROM employees;
Ausgabe:
Beispiel2
Führen Sie die folgende Anweisung aus, die alle Zeilen aus der Mitarbeitertabelle zurückgibt und die WHERE-Klausel die Zeilen angibt, deren Wert in der Spalte emp_age größer als 32 ist:
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
Ausgabe:
Beispiel3
Diese Anweisung verwendet die Funktion COUNT(distinct expression), die die Nicht-Null- und eindeutigen Zeilen in der Spalte emp_age zählt:
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
Ausgabe:
Kat Timpf Schwester
MySQL Count()-Funktion mit GROUP BY-Klausel
Wir können die Funktion count() auch mit der GROUP BY-Klausel verwenden, die die Anzahl der Elemente in jeder Gruppe zurückgibt. Die folgende Anweisung gibt beispielsweise die Anzahl der Mitarbeiter in jeder Stadt zurück:
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
Nach erfolgreicher Ausführung erhalten wir das folgende Ergebnis:
MySQL Count()-Funktion mit HAVING- und ORDER BY-Klausel
Sehen wir uns eine weitere Klausel an, die die Klausel ORDER BY und Have mit der Funktion count() verwendet. Führen Sie die folgende Anweisung aus, die den Namen des Mitarbeiters angibt, der mindestens zwei gleichaltrige Personen hat, und sie basierend auf dem Zählergebnis sortiert:
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
Diese Anweisung liefert die folgende Ausgabe: