sql >> Database teknologi >  >> RDS >> Database

Hvordan bruger man COUNT i SQL?

Sådan bruger du COUNT i SQL

Introduktion

  • COUNT( ) er en aggregeret funktion i SQL.
  • Denne funktion tæller antallet af poster i en tabel, hvis betingelsen ikke er angivet.
  • Hvis betingelsen er angivet, returnerer tællefunktionen antallet af poster, der opfylder den angivne betingelse.

Variationer af COUNT ( ) i SQL

  1. COUNT(*)

COUNT (*) bruges til at vise antallet af poster i en tabel.

Resultaterne af COUNT (*)-funktionen vil indeholde NULL såvel som duplikerede indtastninger, der også tages i betragtning.

Syntaks:

SELECT COUNT (*) FROM tablename;

Eksempel:

Først vil vi oprette en database med navnet "employeedb". Så i den database vil vi oprette en tabel "medarbejder" og indsætte poster i tabellen. Vi vil overveje denne tabel og database for alle de efterfølgende eksempler.

Vi vil finde antallet af poster til stede i 'medarbejder'-tabellen ved hjælp af COUNT ()-funktionen.

 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;

Output:

 +----------+
 | COUNT(*) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

Der er 7 poster til stede i medarbejdertabellen.

  • COUNT (1)

COUNT (1) bruges også til at vise antallet af poster i en tabel. Resultaterne af COUNT (1) funktion vil indeholde NULL samt duplikerede indtastninger også i betragtning. COUNT (1)-funktionen fungerer på samme måde som COUNT (*). Selv resultaterne af COUNT (1) og COUNT (*) er også de samme.

Syntaks:

SELECT COUNT (1) FROM tablename;

Eksempel 1: Vi vil vise antallet af poster til stede i medarbejdertabellen ved hjælp af COUNT (1).

mysql> SELECT COUNT(1) FROM employee;

Output:

 +----------+
 | COUNT(1) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

Der er 7 poster til stede i en tabel.

Eksempel 2:

Lad os se, hvad der sker, når vi sender 14 som parameter til COUNT()-funktionen.

mysql> SELECT COUNT(14) FROM employee;

Output:

 +-----------+
 | COUNT(14) |
 +-----------+
 |         7 |
 +-----------+
 1 row in set (0.00 sec) 

Der er 7 poster til stede i en tabel. Så 7 vises som et output, selvom vi har sendt 14 som parameter til COUNT()-funktionen. At sende et heltal til en COUNT() funktion betyder ikke at tælle antallet af rækker i tabellen. Det betyder ganske enkelt, at 14 vil blive tildelt hver eneste række, der er til stede i en tabel, og så vil rækkerne blive opsummeret for at give en total og vises som et output.

Eksempel 3:

Lad os se, hvad der sker, når vi sender -14 som en parameter til COUNT()-funktionen.

mysql> SELECT COUNT(-14) FROM employee;

Output:

 +------------+
 | COUNT(-14) |
 +------------+
 |          7 |
 +------------+
 1 row in set (0.07 sec) 

Der er 7 poster til stede i en tabel. Så 7 vises som et output, selvom vi har sendt -14 som parameter til COUNT()-funktionen. Det betyder ganske enkelt, at -14 vil blive tildelt hver eneste række, der er til stede i en tabel, og så vil rækkerne blive opsummeret for at give en total og vises som et output.

  • COUNT(Kolonnenavn)

COUNT(ColumnName) bruges til at finde antallet af poster, der indeholder værdier for den angivne kolonne. Mens du bruger COUNT()-funktionen med kolonnenavn som parameter, ignoreres de poster, der indeholder NULL-værdier for denne post.

Syntaks:

SELECT COUNT(ColumnName) FROM tablename;

Eksempel 1:

Vi viser antallet af poster, der findes for Emp_ID.

mysql> SELECT COUNT(Emp_ID) FROM employee;

Output:

 +---------------+
 | COUNT(Emp_ID) |
 +---------------+
 |             7 |
 +---------------+
 1 row in set (0.00 sec) 

Der er 7 poster, som indeholder unikke Emp_ID. Derfor vises 7 som output.

Eksempel 2:

Vi vil vise antallet af poster, der findes for Emp_Name.

mysql> SELECT COUNT(Emp_Name) FROM employee;

Output:

 +-----------------+
 | COUNT(Emp_Name) |
 +-----------------+
 |               6 |
 +-----------------+
 1 row in set (0.00 sec) 

Der er 7 poster i medarbejdertabellen, blandt hvilke én post indeholder NULL-værdier for Emp_Name. Så den pågældende post ignoreres, og 6 vises som output.

Eksempel 3:

Vi vil vise antallet af poster, der eksisterer for Emp_Salary.

mysql> SELECT COUNT(Emp_Salary) FROM employee;

Output:

 +-------------------+
 | COUNT(Emp_Salary) |
 +-------------------+
 |                 6 |
 +-------------------+
 1 row in set (0.00 sec) 

Der er 7 poster i medarbejdertabellen, hvoraf én post indeholder NULL-værdier for Emp_Salary. Så den pågældende post ignoreres, og 6 vises som output.

  • COUNT(DISTINCT ColumnnName)

COUNT()-funktionen med DISTINCT ColumnName som parameter bruges til at vise antallet af poster, der indeholder unikke værdier for en specifik kolonne. Poster, der indeholder duplikat- og NULL-værdier, tælles ikke med.

Syntaks:

SELECT COUNT(DISTINCT ColumnName) FROM tablename;

Eksempel 1:

Vi viser antallet af poster, der indeholder unikke værdier for Emp_ID.

mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;

Output:

 +-------------------------+
 | COUNT( DISTINCT Emp_ID) |
 +-------------------------+
 |                       7 |
 +-------------------------+
 1 row in set (0.05 sec) 

Der er 7 poster, som indeholder unikke værdier for Emp_ID.

Eksempel 2:

Vi viser antallet af poster, der indeholder unikke værdier for Emp_Name.

mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;

Output:

 +---------------------------+
 | COUNT( DISTINCT Emp_Name) |
 +---------------------------+
 |                         5 |
 +---------------------------+
 1 row in set (0.00 sec) 

Der er 5 poster, som indeholder unikke værdier for Emp_Name. NULL og duplikerede værdier i Emp_Name vil ikke blive taget i betragtning af DISTINCT søgeordet.

Eksempel 3:

Vi viser antallet af poster, der indeholder unikke værdier for Emp_Salary.

mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;

Output:

 +-----------------------------+
 | COUNT( DISTINCT Emp_Salary) |
 +-----------------------------+
 |                           5 |
 +-----------------------------+
 1 row in set (0.00 sec) 

Der er 5 poster, som indeholder unikke værdier for Emp_Salary. NULL og duplikerede værdier i Emp_Salary vil ikke blive taget i betragtning af DISTINCT søgeordet.


  1. Sådan formateres tal som romertal i Oracle

  2. SQLiteDatabase-fejl, uhensigtsmæssig log

  3. Sammenligning af store og små bogstaver i SQL

  4. Hvordan får man antallet af dages forskel mellem to datoer på MySQL?