Condividi tramite


COUNT (Analisi di flusso di Azure)

Consente di restituire il numero di elementi di un gruppo. COUNT restituisce sempre un valore del tipo di dati bigint.

Sintassi

-- Aggregate Function Syntax
COUNT ( { [ [ALL | DISTINCT] expression ] | * } ) 

-- Analytic Function Syntax
COUNT ( { [expression] | * }) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
  

Argomenti

ALL

Applica la funzione di aggregazione a tutti i valori. Il valore predefinito è ALL.

DISTINCT

Specifica che COUNT restituisce il numero di valori univoci non Null.

expression

Espressione di qualsiasi tipo o un nome di colonna. Le funzioni di aggregazione e le sottoquery non sono consentite.

* (espressione con caratteri jolly)

Specifica che tutti gli eventi devono essere conteggiati per restituire il numero totale di eventi in un gruppo. COUNT(*) non accetta parametri. COUNT(*) non richiede un parametro di espressione perché, per definizione, non usa informazioni relative a colonne particolari. COUNT(*) restituisce il numero di eventi senza sbarazzarsi di duplicati. Conta ogni evento separatamente. Sono inclusi gli eventi che contengono valori Null, restituendo un valore 0 per i valori Null.

OVER ([<clausola PARTITION BY><LIMIT DURATION [<clausola>> WHEN]]

Determina il gruppo di righe su cui viene applicato COUNT. La clausola PARTITION BY specifica che le righe con la stessa chiave di partizione verranno raggruppate. La clausola LIMIT DURATION specifica la quantità di cronologia inclusa nel gruppo. La clausola WHEN specifica una condizione booleana per le righe da includere nel gruppo. Per altri dettagli sull'utilizzo, vedere la clausola OVER .

Commenti

  • COUNT(*) restituisce il numero di eventi che includono valori NULL e duplicati.

  • COUNT(ALL expression) e COUNT(expression) valuta l'espressione per ogni evento in un gruppo e restituisce il numero di valori non Null.

  • COUNT(DISTINCT expression) valuta l'espressione per ogni evento in un gruppo e restituisce il numero di valori univoci e non Null.

  • COUNT(input_stream) equivale a COUNT() e COUNT(*), ma COUNT(DISTINCT input_stream) conta solo eventi univoci.

  • COUNT(DISTINCT expression) non è supportato come funzione analitica. In altre parole, non è possibile usare COUNT(DISTINCT expression) con la clausola OVER.

Tipi restituiti

bigint

Esempi

SELECT System.Timestamp() AS OutTime, TollId, COUNT(*)   
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TollId, TumblingWindow(minute,3)  

Vedere anche

Clausola GROUP BY
Clausola OVER