Поделиться через


КОЛИЧЕСТВО

✅ Поток событий Azure Stream Analytics ✅ Fabric

Возвращает количество элементов в группе. COUNT всегда возвращает значение типа данных bigint.

Синтаксис

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

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

Аргументы

ВСЕ

Применяет агрегатную функцию ко всем значениям. ALL является параметром по умолчанию.

УНИКАЛЬНО

Указывает, что COUNT возвращает количество уникальных значений, отличных от NULL.

выражение

Выражение любого типа или имени столбца. Агрегатные функции и вложенные запросы не допускаются.

* (выражение подстановочного знака)

Указывает, что все события должны учитываться для возврата общего количества событий в группе. COUNT(*) не принимает параметров. COUNT(*) не требует параметра выражения, так как, по определению, он не использует сведения о каком-либо конкретном столбце. COUNT(*) возвращает количество событий без того, чтобы избавиться от дубликатов. Он подсчитывает каждое событие отдельно. К ним относятся события, содержащие значения NULL, возвращающие значение 0 для значений NULL.

OVER ([<предложение>>< PARTITION BY LIMIT DURATION [<ПРЕДЛОЖЕНИЕ WHEN>]]

Определяет группу строк, над которым применяется COUNT. Предложение PARTITION BY указывает, что строки с одним ключом секции будут сгруппированы вместе. Предложение LIMIT DURATION указывает, сколько журналов включено в группу. Предложение WHEN указывает логическое условие для строк, которые должны быть включены в группу. Дополнительные сведения об использовании см. в предложении OVER .

Замечания

  • COUNT(*) возвращает количество событий, включая значения NULL и повторяющиеся значения.

  • COUNT(ALL expression) и COUNT(expression) вычисляет выражение для каждого события в группе и возвращает количество непустых значений.

  • COUNT(DISTINCT expression) вычисляет выражение для каждого события в группе и возвращает количество уникальных, не null-значений.

  • COUNT(input_stream) эквивалентно COUNT() и COUNT(*), но COUNT(DISTINCT input_stream) учитывает только уникальные события.

  • ВЫРАЖЕНИЕ COUNT(DISTINCT) не поддерживается в качестве аналитической функции. То есть нельзя использовать выражение COUNT(DISTINCT) с предложением OVER.

Типы возвращаемых данных

Бигинт

Примеры

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

См. также

Предложение GROUP BY
Предложение OVER