COUNT (Azure Stream Analytics)
Retorna o número de itens de um grupo. COUNT sempre retorna um valor de tipo de dados bigint.
Sintaxe
-- Aggregate Function Syntax
COUNT ( { [ [ALL | DISTINCT] expression ] | * } )
-- Analytic Function Syntax
COUNT ( { [expression] | * }) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
Argumentos
ALL
Aplica a função de agregação a todos os valores. ALL é o padrão.
DISTINCT
Especifica que COUNT retorna o número de valores não nulos exclusivos.
expressão
É uma expressão de qualquer tipo ou um nome de coluna. Não é permitido agregar subconsultas e funções.
* (expressão curinga)
Especifica que todos os eventos devem ser contados para retornar o número total de eventos em um grupo. COUNT(*) não usa nenhum parâmetro. COUNT(*) não requer um parâmetro de expressão porque, por definição, ele não usa informações de qualquer coluna específica. COUNT(*) retorna o número de eventos sem se livrar de duplicatas. Ele conta cada evento separadamente. Isso inclui eventos que contêm valores nulos, retornando um 0 para valores nulos.
OVER ([<Cláusula LIMIT DURATION> da cláusula><PARTITION BY [<cláusula> WHEN]]
Determina o grupo de linhas sobre o qual COUNT é aplicado. A cláusula PARTITION BY especifica que as linhas com a mesma chave de partição serão agrupadas. A cláusula LIMIT DURATION especifica quanto histórico está incluído no grupo. A cláusula WHEN especifica uma condição booliana para as linhas a serem incluídas no grupo. Consulte a cláusula OVER para obter mais detalhes sobre o uso.
Comentários
COUNT(*) retorna o número de eventos, incluindo valores NULL e duplicatas.
COUNT(ALL expression) and COUNT(expression) avalia a expressão para cada evento em um grupo e retorna o número de valores não nulos.
COUNT(DISTINCT expression) avalia a expressão para cada evento em um grupo e retorna o número de valores exclusivos não nulos.
COUNT(input_stream) é equivalente a COUNT() e COUNT(*), mas COUNT(DISTINCT input_stream) conta apenas eventos exclusivos.
Não há suporte para COUNT (expressão DISTINCT) como uma função analítica. Ou seja, você não pode usar COUNT(expressão DISTINCT) com a cláusula OVER.
Tipos de retorno
BIGINT
Exemplos
SELECT System.Timestamp() AS OutTime, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, TumblingWindow(minute,3)