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

Come utilizzare COUNT in SQL?

Come utilizzare COUNT in SQL

Introduzione

  • COUNT( ) è una funzione aggregata in SQL.
  • Questa funzione conta il numero di record in una tabella se la condizione non è specificata.
  • Se la condizione è specificata, la funzione di conteggio restituisce il numero di record che soddisfano la condizione specificata.

Variazioni di CONTEGGIO ( ) in SQL

  1. COUNT(*)

COUNT (*) viene utilizzato per visualizzare il numero di record presenti in una tabella.

I risultati della funzione COUNT (*) conterranno NULL e anche voci duplicate in considerazione.

Sintassi:

SELECT COUNT (*) FROM tablename;

Esempio:

Per prima cosa creeremo un database con il nome "employeedb". Quindi in quel database creeremo una tabella "dipendente" e inseriremo i record nella tabella. Prenderemo in considerazione questa tabella e database per tutti gli esempi successivi.

Troveremo il numero di record presenti nella tabella 'dipendente' utilizzando la funzione 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;

Risultato:

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

Sono presenti 7 record nella tabella dei dipendenti.

  • CONTEGGIO (1)

COUNT (1) viene utilizzato anche per visualizzare il numero di record presenti in una tabella. I risultati della funzione COUNT (1) conterranno NULL e anche voci duplicate in considerazione. La funzione COUNT (1) funziona come COUNT (*). Anche i risultati di COUNT (1) e COUNT (*) sono gli stessi.

Sintassi:

SELECT COUNT (1) FROM tablename;

Esempio 1: Visualizzeremo il numero di record presenti nella tabella dei dipendenti utilizzando COUNT (1).

mysql> SELECT COUNT(1) FROM employee;

Risultato:

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

Ci sono 7 record presenti in una tabella.

Esempio 2:

Vediamo cosa succede quando passiamo 14 come parametro alla funzione COUNT().

mysql> SELECT COUNT(14) FROM employee;

Risultato:

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

Ci sono 7 record presenti in una tabella. Quindi, 7 viene visualizzato come output anche se abbiamo passato 14 come parametro alla funzione COUNT(). Passare un numero intero a una funzione COUNT() non significa contare quel numero di righe nella tabella. Significa semplicemente che 14 verranno assegnate a ogni riga presente in una tabella e quindi le righe verranno sommate per dare un totale e visualizzate come output.

Esempio 3:

Vediamo cosa succede quando passiamo -14 come parametro alla funzione COUNT().

mysql> SELECT COUNT(-14) FROM employee;

Risultato:

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

Ci sono 7 record presenti in una tabella. Quindi, 7 viene visualizzato come output anche se abbiamo passato -14 come parametro alla funzione COUNT(). Significa semplicemente -14 verrà assegnato a ogni riga presente in una tabella e quindi le righe verranno sommate per dare un totale e visualizzate come output.

  • COUNT(ColumnName)

COUNT(ColumnName) viene utilizzato per trovare il numero di record che contengono valori per la colonna specificata. Durante l'utilizzo della funzione COUNT() con nomecolonna come parametro, i record che contengono valori NULL per quel record verranno ignorati.

Sintassi:

SELECT COUNT(ColumnName) FROM tablename;

Esempio 1:

Mostreremo il numero di record che esiste per Emp_ID.

mysql> SELECT COUNT(Emp_ID) FROM employee;

Risultato:

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

Ci sono 7 record che contengono Emp_ID univoco. Pertanto, 7 viene visualizzato come output.

Esempio 2:

Visualizzeremo il numero di record che esiste per Emp_Name.

mysql> SELECT COUNT(Emp_Name) FROM employee;

Risultato:

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

Ci sono 7 record nella tabella dei dipendenti tra i quali, un record contiene valori NULL per Emp_Name. Quindi, quel particolare record viene ignorato e 6 viene visualizzato come output.

Esempio 3:

Visualizzeremo il numero di record esistenti per Emp_Salary.

mysql> SELECT COUNT(Emp_Salary) FROM employee;

Risultato:

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

Ci sono 7 record nella tabella dei dipendenti tra i quali un record contiene valori NULL per Emp_Salary. Quindi, quel particolare record viene ignorato e 6 viene visualizzato come output.

  • COUNT(DISTINCT ColumnnName)

La funzione COUNT() con DISTINCT ColumnName come parametro viene utilizzata per visualizzare il numero di record che contiene valori univoci per una colonna specifica. I record che contengono valori duplicati e NULL non verranno conteggiati.

Sintassi:

SELECT COUNT(DISTINCT ColumnName) FROM tablename;

Esempio 1:

Visualizzeremo il numero di record che contengono valori univoci per Emp_ID.

mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;

Risultato:

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

Ci sono 7 record che contengono valori univoci per Emp_ID.

Esempio 2:

Visualizzeremo il numero di record che contengono valori univoci per Emp_Name.

mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;

Risultato:

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

Ci sono 5 record che contengono valori univoci per Emp_Name. I valori NULL e duplicati in Emp_Name non verranno considerati dalla parola chiave DISTINCT.

Esempio 3:

Visualizzeremo il numero di record che contengono valori univoci per Emp_Salary.

mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;

Risultato:

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

Ci sono 5 record che contengono valori univoci per Emp_Salary. I valori NULL e duplicati in Emp_Salary non verranno considerati dalla parola chiave DISTINCT.