COUNTfunzione - Amazon Redshift

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