COUNT (Azure Stream Analytics)

Zwraca liczbę elementów w grupie. Funkcja COUNT zawsze zwraca wartość typu danych bigint.

Składnia

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

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

Argumenty

ALL

Stosuje funkcję agregacji do wszystkich wartości. All jest wartością domyślną.

ODRĘBNE

Określa, że funkcja COUNT zwraca liczbę unikatowych wartości innych niż null.

expression

Jest wyrażeniem dowolnego typu lub nazwy kolumny. Funkcje agregujące i zapytania podrzędne nie są dozwolone.

* (wyrażenie wieloznaczne)

Określa, że wszystkie zdarzenia powinny być zliczane, aby zwrócić całkowitą liczbę zdarzeń w grupie. FUNKCJA COUNT(*) nie przyjmuje żadnych parametrów. Funkcja COUNT(*) nie wymaga parametru wyrażenia, ponieważ z definicji nie używa informacji o żadnej określonej kolumnie. Funkcja COUNT(*) zwraca liczbę zdarzeń bez pozbycia się duplikatów. Zlicza każde zdarzenie oddzielnie. Obejmuje to zdarzenia, które zawierają wartości null, zwracając wartość 0 dla wartości null.

OVER ([<PARTITION BY klauzula LIMIT DURATION klauzuli>>< [<KLAUZULA> WHEN]]

Określa grupę wierszy, dla których jest stosowana funkcja COUNT. Klauzula PARTITION BY określa, że wiersze z tym samym kluczem partycji zostaną zgrupowane razem. Klauzula LIMIT DURATION określa, ile historii jest zawarta w grupie. Klauzula WHEN określa warunek logiczny dla wierszy do ujęć w grupie. Zobacz klauzulę OVER , aby uzyskać więcej informacji na temat użycia.

Uwagi

  • Funkcja COUNT(*) zwraca liczbę zdarzeń, w tym wartości NULL i duplikatów.

  • Funkcja COUNT(ALL expression) i COUNT(expression) oblicza wyrażenie dla każdego zdarzenia w grupie i zwraca liczbę wartości innych niż null.

  • Funkcja COUNT(wyrażenie DISTINCT) oblicza wyrażenie dla każdego zdarzenia w grupie i zwraca liczbę unikatowych wartości innych niż null.

  • Funkcja COUNT(input_stream) jest równoważna funkcji COUNT() i COUNT(*), ale funkcja COUNT(DISTINCT input_stream) zlicza tylko unikatowe zdarzenia.

  • Funkcja COUNT(DISTINCT expression) nie jest obsługiwana jako funkcja analityczna. Oznacza to, że nie można używać wyrażenia COUNT(DISTINCT) z klauzulą OVER.

Typy zwracane

bigint

Przykłady

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

Zobacz też

GROUP BY, klauzula
Over, klauzula