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à.
COUNTfunzione
La COUNT funzione conta le righe definite dall'espressione.
La COUNT funzione presenta le seguenti varianti.
COUNT(*) conta tutte le righe della tabella di destinazione indipendentemente dal fatto che includano o meno valori nulli.
COUNT(espressione) calcola il numero di righe senza NULL valori in una colonna o espressione specifica.
COUNT(DISTINCTespressione) calcola il numero di non NULL valori distinti in una colonna o espressione.
APPROXIMATECOUNTDISTINCTapprossima il numero di non NULL valori diversi distinti 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 COUNT funzione supporta tutti i tipi di dati relativi agli argomenti.
- DISTINCT | ALL
-
Con l'argomentoDISTINCT, la funzione elimina tutti i valori duplicati dall'espressione specificata prima di eseguire il conteggio. Con l'argomentoALL, la funzione conserva tutti i valori duplicati dell'espressione per il conteggio. ALLè l'impostazione predefinita.
- APPROXIMATE
-
Quando viene utilizzata conAPPROXIMATE, una COUNT DISTINCT funzione utilizza un HyperLogLog algoritmo per approssimare il numero di non NULL valori distinti in una colonna o in un'espressione. Le query che utilizzano la APPROXIMATE parola chiave vengono eseguite molto più velocemente, 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. APPROXIMATEpuò essere utilizzato solo con COUNTDISTINCT.
Tipo restituito
La COUNT funzione ritornaBIGINT.
Esempi
Calcolare tutti gli utenti provenienti dallo stato della Florida:
select count(*) from users where state='FL';
count ------- 510
Conta tutti i nomi degli eventi dalla EVENT tabella:
select count(eventname) from event;
count ------- 8798
Conta tutti i nomi degli eventi dalla EVENT tabella:
select count(all eventname) from event;
count ------- 8798
Conta tutti i luoghi unici IDs presenti nella EVENT tabella:
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 ...
Gli esempi seguenti confrontano i valori restituiti e i tempi di esecuzione per COUNT e APPROXIMATECOUNT.
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