Hur man använder COUNT i SQL
Introduktion
- ANTAL( ) är en aggregerad funktion i SQL.
- Denna funktion räknar antalet poster i en tabell om villkoret inte anges.
- Om villkoret är specificerat returnerar räknefunktionen antalet poster som uppfyller det angivna villkoret.
Variationer av COUNT ( ) i SQL
- ANTAL(*)
COUNT (*) används för att visa antalet poster som finns i en tabell.
Resultaten av COUNT (*)-funktionen kommer att innehålla NULL såväl som dubbletter av poster.
Syntax:
SELECT COUNT (*) FROM tablename;
Exempel:
Först kommer vi att skapa en databas med namnet "employeedb". Sedan kommer vi i den databasen att skapa en tabell "anställd" och infoga poster i tabellen. Vi kommer att överväga den här tabellen och databasen för alla efterföljande exempel.
Vi kommer att hitta antalet poster som finns i tabellen "anställd" med funktionen 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;
Utdata:
+----------+ | COUNT(*) | +----------+ | 7 | +----------+ 1 row in set (0.00 sec)
Det finns 7 poster i personaltabellen.
- ANTAL (1)
COUNT (1) används också för att visa antalet poster som finns i en tabell. Resultaten av COUNT (1)-funktionen kommer att innehålla NULL såväl som dubbletter av poster. COUNT (1)-funktionen fungerar på samma sätt som COUNT (*). Även resultaten för COUNT (1) och COUNT (*) är också desamma.
Syntax:
SELECT COUNT (1) FROM tablename;
Exempel 1: Vi kommer att visa antalet poster som finns i personaltabellen med COUNT (1).
mysql> SELECT COUNT(1) FROM employee;
Utdata:
+----------+ | COUNT(1) | +----------+ | 7 | +----------+ 1 row in set (0.00 sec)
Det finns 7 poster i en tabell.
Exempel 2:
Låt oss se vad som händer när vi skickar 14 som parameter till COUNT()-funktionen.
mysql> SELECT COUNT(14) FROM employee;
Utdata:
+-----------+ | COUNT(14) | +-----------+ | 7 | +-----------+ 1 row in set (0.00 sec)
Det finns 7 poster i en tabell. Så, 7 visas som en utgång även om vi har skickat 14 som en parameter till COUNT()-funktionen. Att skicka ett heltal till en COUNT()-funktion betyder inte att man räknar antalet rader i tabellen. Det betyder helt enkelt att 14 kommer att tilldelas varje rad som finns i en tabell och att raderna kommer att summeras för att ge en total och visas som en utdata.
Exempel 3:
Låt oss se vad som händer när vi skickar -14 som en parameter till COUNT()-funktionen.
mysql> SELECT COUNT(-14) FROM employee;
Utdata:
+------------+ | COUNT(-14) | +------------+ | 7 | +------------+ 1 row in set (0.07 sec)
Det finns 7 poster i en tabell. Så, 7 visas som en utgång även om vi har skickat -14 som en parameter till COUNT()-funktionen. Det betyder helt enkelt -14 kommer att tilldelas varje rad som finns i en tabell och att raderna kommer att summeras för att ge en total och visas som en utdata.
- ANTAL(kolumnnamn)
COUNT(ColumnName) används för att hitta antalet poster som innehåller värden för den angivna kolumnen. När du använder COUNT()-funktionen med kolumnnamn som parameter, kommer de poster som innehåller NULL-värden för den posten att ignoreras.
Syntax:
SELECT COUNT(ColumnName) FROM tablename;
Exempel 1:
Vi kommer att visa antalet poster som finns för Emp_ID.
mysql> SELECT COUNT(Emp_ID) FROM employee;
Utdata:
+---------------+ | COUNT(Emp_ID) | +---------------+ | 7 | +---------------+ 1 row in set (0.00 sec)
Det finns 7 poster som innehåller unikt Emp_ID. Därför visas 7 som en utgång.
Exempel 2:
Vi kommer att visa antalet poster som finns för Emp_Name.
mysql> SELECT COUNT(Emp_Name) FROM employee;
Utdata:
+-----------------+ | COUNT(Emp_Name) | +-----------------+ | 6 | +-----------------+ 1 row in set (0.00 sec)
Det finns 7 poster i personaltabellen, bland vilka en post innehåller NULL-värden för Emp_Name. Så den specifika posten ignoreras och 6 visas som en utdata.
Exempel 3:
Vi kommer att visa antalet poster som finns för Emp_Salary.
mysql> SELECT COUNT(Emp_Salary) FROM employee;
Utdata:
+-------------------+ | COUNT(Emp_Salary) | +-------------------+ | 6 | +-------------------+ 1 row in set (0.00 sec)
Det finns 7 poster i personaltabellen, bland vilka en post innehåller NULL-värden för Emp_Salary. Så den specifika posten ignoreras och 6 visas som en utdata.
- COUNT(DISTINCT ColumnnName)
COUNT()-funktionen med DISTINCT ColumnName som parameter används för att visa antalet poster som innehåller unika värden för en specifik kolumn. Poster som innehåller dubbletter och NULL-värden kommer inte att räknas.
Syntax:
SELECT COUNT(DISTINCT ColumnName) FROM tablename;
Exempel 1:
Vi kommer att visa antalet poster som innehåller unika värden för Emp_ID.
mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;
Utdata:
+-------------------------+ | COUNT( DISTINCT Emp_ID) | +-------------------------+ | 7 | +-------------------------+ 1 row in set (0.05 sec)
Det finns 7 poster som innehåller unika värden för Emp_ID.
Exempel 2:
Vi kommer att visa antalet poster som innehåller unika värden för Emp_Name.
mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;
Utdata:
+---------------------------+ | COUNT( DISTINCT Emp_Name) | +---------------------------+ | 5 | +---------------------------+ 1 row in set (0.00 sec)
Det finns 5 poster som innehåller unika värden för Emp_Name. NULL och dubbletter av värden i Emp_Name kommer inte att beaktas av nyckelordet DISTINCT.
Exempel 3:
Vi kommer att visa antalet poster som innehåller unika värden för Emp_Salary.
mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;
Utdata:
+-----------------------------+ | COUNT( DISTINCT Emp_Salary) | +-----------------------------+ | 5 | +-----------------------------+ 1 row in set (0.00 sec)
Det finns 5 poster som innehåller unika värden för Emp_Salary. NULL och dubbletter av värden i Emp_Salary kommer inte att beaktas av nyckelordet DISTINCT.