Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Funzione COUNT
La funzione COUNT conta le righe definite dall'espressione.
La funzione COUNT ha le seguenti variazioni.
COUNT ( * ) conta tutte le righe nella tabella di destinazione indipendentemente dal fatto che includano valori null o meno.
COUNT ( espressione ) calcola il numero di righe con valori non NULL in una colonna o espressione specifica.
COUNT ( DISTINCT espressione ) calcola il numero di valori distinti non NULL in una colonna o espressione.
APPROXIMATE COUNT DISTINCT esegue l'approssimazione del numero di valori distinti non NULL in una colonna o in un'espressione.
Sintassi
COUNT( * | expression )
COUNT ( [ DISTINCT | ALL ] expression )
APPROXIMATE COUNT ( DISTINCT expression )
Argomenti
- expression
-
L'espressione o colonna di destinazione su cui viene eseguita la funzione. La funzione COUNT supporta tutti i tipi di dati degli argomenti.
- DISTINCT | ALL
-
Con l'argomento DISTINCT, la funzione elimina tutti i valori duplicati dall'espressione specificata prima di eseguire il conteggio. Con l'argomento ALL, la funzione mantiene tutti i valori duplicati dall'espressione per il conteggio. ALL è il valore predefinito.
- APPROXIMATE
-
Se utilizzata con APPROSSIMATE, una funzione COUNT DISTINCT utilizza un HyperLogLog algoritmo per approssimare il numero di valori distinti non NULL in una colonna o in un'espressione. Le query che utilizzano la parola chiave APPROXIMATE eseguono molto più rapidamente, con un errore relativo basso di circa il 2%. L'approssimazione è garantita per le query che restituiscono un numero elevato di valori distinti, in milioni o più per query o per gruppo, se esiste una clausola group by (per gruppo). Per insiemi più piccoli di valori distinti, a migliaia, l'approssimazione potrebbe essere più lenta di un conteggio preciso. APPROXIMATE può essere usata solo con COUNT DISTINCT.
Tipo restituito
La funzione COUNT restituisce BIGINT.
Esempi
Calcolare tutti gli utenti provenienti dallo stato della Florida:
select count(*) from users where state='FL';
count
-------
510
Calcolare tutti i nomi degli eventi dalla tabella EVENT:
select count(eventname) from event;
count
-------
8798
Calcolare tutti i nomi degli eventi dalla tabella EVENT:
select count(all eventname) from event;
count
-------
8798
Conta tutti i luoghi unici della tabella EVENT IDs :
select count(distinct venueid) as venues from event;
venues
--------
204
Contare il numero di volte in cui ciascun venditore ha elencato lotti di oltre quattro biglietti in vendita. Raggruppare i risultati per ID venditore:
select count(*), sellerid from listing
where numtickets > 4
group by sellerid
order by 1 desc, 2;
count | sellerid
------+----------
12 | 6386
11 | 17304
11 | 20123
11 | 25428
...
I seguenti esempi mettono a confronto i valori di ritorno e i tempi di esecuzione per COUNT e APPROXIMATE COUNT.
select count(distinct pricepaid) from sales;
count
-------
4528
Time: 48.048 ms
select approximate count(distinct pricepaid) from sales;
count
-------
4553
Time: 21.728 ms