Wie man COUNT in SQL verwendet
Einführung
- COUNT( ) ist eine Aggregatfunktion in SQL.
- Diese Funktion zählt die Anzahl der Datensätze in einer Tabelle, wenn die Bedingung nicht angegeben ist.
- Wenn die Bedingung angegeben ist, gibt die Zählfunktion die Anzahl der Datensätze zurück, die die angegebene Bedingung erfüllen.
Variationen von COUNT ( ) in SQL
- COUNT(*)
COUNT (*) wird verwendet, um die Anzahl der in einer Tabelle vorhandenen Datensätze anzuzeigen.
Die Ergebnisse der Funktion COUNT (*) enthalten NULL sowie doppelte Einträge.
Syntax:
SELECT COUNT (*) FROM tablename;
Beispiel:
Zuerst erstellen wir eine Datenbank mit dem Namen „employeedb“. Dann erstellen wir in dieser Datenbank eine Tabelle „Mitarbeiter“ und fügen Datensätze in die Tabelle ein. Wir werden diese Tabelle und Datenbank für alle nachfolgenden Beispiele berücksichtigen.
Wir finden die Anzahl der Datensätze in der Tabelle „Mitarbeiter“ mithilfe der Funktion COUNT ().
mysql> USE employeedb; Database changed mysql> SELECT *FROM employee; +--------+----------+------------+ | Emp_ID | Emp_Name | Emp_Salary | +--------+----------+------------+ | 1 | Nikita | 30000 | | 2 | Riddhi | 25000 | | 3 | Nayan | 45000 | | 4 | Shruti | 15000 | | 5 | Anurati | 55000 | | 6 | NULL | NULL | | 7 | Anurati | 55000 | +--------+----------+------------+ 7 rows in set (0.00 sec)
mysql> SELECT COUNT(*) FROM employee;
Ausgabe:
+----------+ | COUNT(*) | +----------+ | 7 | +----------+ 1 row in set (0.00 sec)
In der Mitarbeitertabelle sind 7 Datensätze vorhanden.
- ZAHL (1)
COUNT (1) wird auch verwendet, um die Anzahl der in einer Tabelle vorhandenen Datensätze anzuzeigen. Die Ergebnisse der Funktion COUNT (1) enthalten NULL sowie doppelte Einträge werden ebenfalls berücksichtigt. Die Funktion COUNT (1) funktioniert genauso wie COUNT (*). Auch die Ergebnisse von COUNT (1) und COUNT (*) sind gleich.
Syntax:
SELECT COUNT (1) FROM tablename;
Beispiel 1: Wir zeigen die Anzahl der in der Mitarbeitertabelle vorhandenen Datensätze mit COUNT (1) an.
mysql> SELECT COUNT(1) FROM employee;
Ausgabe:
+----------+ | COUNT(1) | +----------+ | 7 | +----------+ 1 row in set (0.00 sec)
In einer Tabelle sind 7 Datensätze vorhanden.
Beispiel 2:
Sehen wir uns an, was passiert, wenn wir 14 als Parameter an die Funktion COUNT() übergeben.
mysql> SELECT COUNT(14) FROM employee;
Ausgabe:
+-----------+ | COUNT(14) | +-----------+ | 7 | +-----------+ 1 row in set (0.00 sec)
In einer Tabelle sind 7 Datensätze vorhanden. Also wird 7 als Ausgabe angezeigt, obwohl wir 14 als Parameter an die Funktion COUNT() übergeben haben. Das Übergeben einer Ganzzahl an eine COUNT()-Funktion bedeutet nicht, diese Anzahl von Zeilen in der Tabelle zu zählen. Es bedeutet einfach, dass jeder einzelnen Zeile in einer Tabelle 14 zugewiesen wird und dass die Zeilen dann zu einer Summe summiert und als Ausgabe angezeigt werden.
Beispiel 3:
Sehen wir uns an, was passiert, wenn wir -14 als Parameter an die Funktion COUNT() übergeben.
mysql> SELECT COUNT(-14) FROM employee;
Ausgabe:
+------------+ | COUNT(-14) | +------------+ | 7 | +------------+ 1 row in set (0.07 sec)
In einer Tabelle sind 7 Datensätze vorhanden. Also wird 7 als Ausgabe angezeigt, obwohl wir -14 als Parameter an die Funktion COUNT() übergeben haben. Es bedeutet einfach, dass jeder einzelnen Zeile in einer Tabelle -14 zugewiesen wird und dann die Zeilen zu einer Summe summiert und als Ausgabe angezeigt werden.
- COUNT(Spaltenname)
COUNT(ColumnName) wird verwendet, um die Anzahl der Datensätze zu finden, die Werte für die angegebene Spalte enthalten. Bei Verwendung der COUNT()-Funktion mit Spaltenname als Parameter werden die Datensätze, die NULL-Werte für diesen Datensatz enthalten, ignoriert.
Syntax:
SELECT COUNT(ColumnName) FROM tablename;
Beispiel 1:
Wir zeigen die Anzahl der Datensätze an, die für Emp_ID vorhanden sind.
mysql> SELECT COUNT(Emp_ID) FROM employee;
Ausgabe:
+---------------+ | COUNT(Emp_ID) | +---------------+ | 7 | +---------------+ 1 row in set (0.00 sec)
Es gibt 7 Datensätze, die eine eindeutige Emp_ID enthalten. Daher wird als Ausgabe 7 angezeigt.
Beispiel 2:
Wir zeigen die Anzahl der Datensätze an, die für Emp_Name vorhanden sind.
mysql> SELECT COUNT(Emp_Name) FROM employee;
Ausgabe:
+-----------------+ | COUNT(Emp_Name) | +-----------------+ | 6 | +-----------------+ 1 row in set (0.00 sec)
Es gibt 7 Datensätze in der Mitarbeitertabelle, von denen ein Datensatz NULL-Werte für Emp_Name enthält. Dieser bestimmte Datensatz wird also ignoriert und 6 wird als Ausgabe angezeigt.
Beispiel 3:
Wir zeigen die Anzahl der Datensätze an, die für Emp_Salary vorhanden sind.
mysql> SELECT COUNT(Emp_Salary) FROM employee;
Ausgabe:
+-------------------+ | COUNT(Emp_Salary) | +-------------------+ | 6 | +-------------------+ 1 row in set (0.00 sec)
Es gibt 7 Datensätze in der Mitarbeitertabelle, von denen ein Datensatz NULL-Werte für Emp_Salary enthält. Dieser bestimmte Datensatz wird also ignoriert und 6 wird als Ausgabe angezeigt.
- COUNT(DISTINCT ColumnnName)
Die Funktion COUNT() mit DISTINCT ColumnName als Parameter wird verwendet, um die Anzahl der Datensätze anzuzeigen, die eindeutige Werte für eine bestimmte Spalte enthalten. Datensätze, die Duplikate und NULL-Werte enthalten, werden nicht gezählt.
Syntax:
SELECT COUNT(DISTINCT ColumnName) FROM tablename;
Beispiel 1:
Wir zeigen die Anzahl der Datensätze an, die eindeutige Werte für Emp_ID enthalten.
mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;
Ausgabe:
+-------------------------+ | COUNT( DISTINCT Emp_ID) | +-------------------------+ | 7 | +-------------------------+ 1 row in set (0.05 sec)
Es gibt 7 Datensätze, die eindeutige Werte für Emp_ID enthalten.
Beispiel 2:
Wir zeigen die Anzahl der Datensätze an, die eindeutige Werte für Emp_Name enthalten.
mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;
Ausgabe:
+---------------------------+ | COUNT( DISTINCT Emp_Name) | +---------------------------+ | 5 | +---------------------------+ 1 row in set (0.00 sec)
Es gibt 5 Datensätze, die eindeutige Werte für Emp_Name enthalten. NULL und doppelte Werte in Emp_Name werden vom Schlüsselwort DISTINCT nicht berücksichtigt.
Beispiel 3:
Wir zeigen die Anzahl der Datensätze an, die eindeutige Werte für Emp_Salary enthalten.
mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;
Ausgabe:
+-----------------------------+ | COUNT( DISTINCT Emp_Salary) | +-----------------------------+ | 5 | +-----------------------------+ 1 row in set (0.00 sec)
Es gibt 5 Datensätze, die eindeutige Werte für Emp_Salary enthalten. NULL und doppelte Werte in Emp_Salary werden vom Schlüsselwort DISTINCT nicht berücksichtigt.