Dela via


COUNT (Azure Stream Analytics)

Returnerar antalet objekt i en grupp. COUNT returnerar alltid ett bigint-datatypvärde.

Syntax

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

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

Argument

ALL

Tillämpar mängdfunktionen på alla värden. ALLA är standardinställningen.

DISTINKTA

Anger att COUNT returnerar antalet unika icke-null-värden.

expression

Är ett uttryck av valfri typ eller ett kolumnnamn. Mängdfunktioner och underfrågor är inte tillåtna.

* (jokerteckenuttryck)

Anger att alla händelser ska räknas för att returnera det totala antalet händelser i en grupp. COUNT(*) tar inga parametrar. COUNT(*) kräver ingen uttrycksparameter eftersom den per definition inte använder information om någon viss kolumn. COUNT(*) returnerar antalet händelser utan att bli av med dubbletter. Varje händelse räknas separat. Detta inkluderar händelser som innehåller null-värden och returnerar 0 för null-värden.

ÖVER ([<PARTITION BY-sats><LIMIT DURATION-sats> [<WHEN-sats>]]

Avgör den grupp med rader som COUNT tillämpas på. PARTITION BY-satsen anger att raderna med samma partitionsnyckel ska grupperas tillsammans. LIMIT DURATION-satsen anger hur mycket historik som ingår i gruppen. WHEN-satsen anger ett booleskt villkor för de rader som ska ingå i gruppen. Mer information om användningen finns i OVER-satsen .

Kommentarer

  • COUNT(*) returnerar antalet händelser, inklusive NULL-värden och dubbletter.

  • COUNT(ALL expression) och COUNT(expression) utvärderar uttryck för varje händelse i en grupp och returnerar antalet värden som inte är null.

  • COUNT(DISTINCT expression) utvärderar uttryck för varje händelse i en grupp och returnerar antalet unika värden som inte är null.

  • COUNT(input_stream) motsvarar COUNT() och COUNT(*), men COUNT(DISTINCT input_stream) räknar endast unika händelser.

  • COUNT(DISTINCT-uttryck) stöds inte som en analysfunktion. Du kan alltså inte använda COUNT(DISTINCT-uttryck) med OVER-satsen.

Returtyper

bigint

Exempel

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

Se även

GROUP BY-sats
OVER-sats