COUNT (Azure Stream Analytics)
Devolve o número de itens num grupo. COUNT devolve sempre 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
TODOS
Aplica a função de agregação a todos os valores. ALL é a predefinição.
DISTINCT
Especifica que CONTAR devolve o número de valores exclusivos não nulos.
expression
É uma expressão de qualquer tipo ou nome de coluna. As funções de agregação e as subconsultas não são permitidas.
* (expressão de caráter universal)
Especifica que todos os eventos devem ser contados para devolver o número total de eventos num grupo. COUNT(*) não aceita parâmetros. COUNT(*) não requer um parâmetro de expressão porque, por definição, não utiliza informações sobre nenhuma coluna específica. COUNT(*) devolve o número de eventos sem eliminar duplicados. Conta cada evento separadamente. Isto inclui eventos que contêm valores nulos, devolvendo um 0 para valores nulos.
OVER ([<PARTITION BY clause><LIMIT DURATION clause> [<WHEN clause>]]
Determina o grupo de linhas sobre o qual a função CONTAR é aplicada. 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 a quantidade de histórico incluída no grupo. A cláusula WHEN especifica uma condição booleana para que as linhas sejam incluídas no grupo. Veja a cláusula OVER para obter mais detalhes sobre a utilização.
Observações
COUNT(*) devolve o número de eventos, incluindo valores NULL e duplicados.
COUNT(ALL expression) e COUNT(expression) avaliam a expressão para cada evento num grupo e devolvem o número de valores não nulos.
COUNT(EXPRESSÃO DISTINCT) avalia a expressão para cada evento num grupo e devolve o número de valores exclusivos e não nulos.
COUNT(input_stream) é equivalente a COUNT() e COUNT(*), mas COUNT(DISTINCT input_stream) conta apenas eventos exclusivos.
COUNT(EXPRESSÃO DISTINCT) não é suportado como uma função analítica. Ou seja, não pode utilizar COUNT(DISTINCT expression) 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)