Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
✅ Flusso di eventi dell'infrastruttura di Analisi ✅ di flusso di Azure
Per ogni riga, la clausola OVER determina il raggruppamento di righe prima dell'applicazione di una funzione di aggregazione o analitica associata.
È possibile usare la clausola OVER ovunque sia consentita una funzione scalare. Ad esempio, è possibile usare la clausola OVER nelle clausole SELECT, WHERE, JOIN o GROUP BY.
La clausola OVER raggruppa le righe direttamente dall'input della query. Non è interessato dai predicati nella clausola WHERE, dalle condizioni di join nella clausola JOIN o dalle condizioni di raggruppamento nella clausola GROUP BY.
Attualmente, le funzioni di aggregazione seguenti sono supportate con la clausola OVER:
- SOMMA
- MEDIO
- Min
- massimo
Sintassi
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
Argomenti
<Clausola PARTITION BY>
Specifica che solo le righe con lo stesso <partition_key> verranno considerate per la funzione di aggregazione o analitica.
<Clausola LIMIT DURATION>
Specifica la quantità di cronologia della riga corrente inclusa nel gruppo. Per una descrizione dettagliata delle unità supportate e delle relative abbreviazioni, vedere DATEDIFF .
<CLAUSOLA WHEN>
Specifica la condizione booleana per le righe da includere nel gruppo.
Osservazioni generali
L'applicazione di una funzione di aggregazione o analitica con OVER nel set di risultati di una funzione di windowing può produrre risultati imprevisti. Le funzioni di windowing modificano il timestamp degli eventi, perché ogni operazione di finestra restituisce l'evento alla fine della finestra. È possibile accedere al timestamp corrente di un evento con system.timestamp(), dopo un'operazione di finestra diversa dall'attributo ora dell'evento originale.
Esempi
Calcolare la temperatura media negli ultimi 5 minuti, per sensore:
SELECT AVG(temperature) OVER (PARTITION BY id LIMIT DURATION (minute, 5))
FROM input
Generare un avviso se la risorsa non è stata integra nell'ultima ora:
SELECT 1 AS alert
FROM input
WHERE MAX(healthy) OVER (PARTITION BY id LIMIT DURATION (hour, 1)) = 0