Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Para cada linha, a cláusula OVER determina o agrupamento de linhas antes que uma função agregada ou analítica associada seja aplicada.
Você pode usar a cláusula OVER em qualquer lugar onde uma função escalar seja permitida. Por exemplo, você pode usar a cláusula OVER nas cláusulas SELECT, WHERE, JOIN ou GROUP BY.
A cláusula OVER agrupa linhas diretamente da entrada de consulta. Não é afetado por predicados na cláusula WHERE, condições de junção na cláusula JOIN ou condições de agrupamento na cláusula GROUP BY.
Atualmente, as seguintes funções agregadas são suportadas com a cláusula OVER:
- SOMA
- AVG
- Minutos
- MÁX
Sintaxe
OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
<PARTITION BY clause> ::== PARTITION BY partition_key, ... [n]
<LIMIT DURATION clause> ::== LIMIT DURATION (unit, length)
<WHEN clause> ::== WHEN boolean_expression
Argumentos
<Cláusula PARTITION BY>
Especifica que apenas as linhas com o mesmo <partition_key> serão consideradas para a função agregada ou analítica.
<CLÁUSULA DE DURAÇÃO LIMITE>
Especifica quanto histórico da linha atual está incluído no grupo. Consulte DATEDIFF para obter uma descrição detalhada das unidades suportadas e suas abreviaturas.
<QUANDO CLÁUSULA>
Especifica a condição booleana para as linhas a serem incluídas no grupo.
Observações gerais
A aplicação de uma função agregada ou analítica com OVER no conjunto de resultados de uma função de janela pode produzir resultados inesperados. As funções de janela alteram o carimbo de data/hora dos eventos, pois cada operação de janela gera um evento no final da janela. O carimbo de data/hora atual de um evento pode ser acessado com system.timestamp(), após uma operação de janela, ele será diferente do atributo de hora do evento original.
Exemplos
Calcule a temperatura média nos últimos 5 minutos, por sensor:
SELECT AVG(temperature) OVER (PARTITION BY id LIMIT DURATION (minute, 5))
FROM input
Lançar um alerta se o recurso não estiver íntegro na última hora:
SELECT 1 AS alert
FROM input
WHERE MAX(healthy) OVER (PARTITION BY id LIMIT DURATION (hour, 1)) = 0