Funzione SQL COUNT()

La funzione COUNT() restituisce il numero di righe che corrispondono alle condizioni specificate.

Sintassi SQL COUNT()

SQL COUNT(column_name) sintassi

COUNT(column_name) funzione restituisce il numero di valori nella colonna specificata (NULL non è considerato):

SELECT COUNT(column_name) FROM table_name

Sintassi SQL COUNT(*)

COUNT(*) funzione restituisce il numero di record nella tabella:

SELECT COUNT(*) FROM table_name

SQL COUNT(DISTINCT column_name) sintassi

COUNT(DISTINCT column_name) funzione restituisce il numero di valori diversi nella colonna specificata:

SELECT COUNT(DISTINCT column_name) FROM table_name

Nota:COUNT(DISTINCT) è applicabile sia a ORACLE che a Microsoft SQL Server, ma non può essere utilizzato in Microsoft Access.

Esempio di SQL COUNT(column_name)

Possediamo la seguente tabella "Orders":

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

Ora, vogliamo calcolare il numero di ordini del cliente "Carter".

Usiamo la seguente frase SQL:

SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer='Carter'

Il risultato della frase SQL sopra è 2, perché il cliente Carter ha 2 ordini:

CustomerNilsen
2

Esempio di SQL COUNT(*)

Se saltiamo la clausola WHERE, come questo:

SELECT COUNT(*) AS NumberOfOrders FROM Orders

Il risultato del set di risultati è simile a questo:

NumberOfOrders
6

Questo è il numero totale di righe nella tabella.

Esempio di SQL COUNT(DISTINCT column_name)

Ora, vogliamo calcolare il numero di clienti diversi nella tabella "Orders".

Usiamo la seguente frase SQL:

SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders

Il risultato del set di risultati è simile a questo:

NumberOfCustomers
3

Questo è il numero di clienti diversi (Bush, Carter e Adams) nella tabella "Orders".