Funzioni analitiche a finestra

Le funzioni analitiche comprendono l'aggregazione per finestre, l'aggregazione per rapporti, il ritardo e il vantaggio, il primo e l'ultimo, la classifica e le famiglie di righe. La tabella seguente descrive le parole chiave della funzione analitica.
Tabella 1. Parole chiave della funzione analitica
Sintassi Descrizione
TUTTO Applica la funzione analitica a tutti i valori. Questo valore è quello predefinito e non è necessario specificarlo.
ASC | DESC Specifica la sequenza di ordinamento, ascendente o discendente.
TRA. E Specifica i punti di inizio e fine della finestra. La prima espressione (prima di e) specifica l'inizio; la seconda espressione (dopo e) specifica la fine.
RIGA CORRENTE Come punto di partenza, specifica che la finestra inizia dalla riga o dal valore corrente. Come punto finale, specifica che la finestra termina alla riga o al valore corrente.
DISTINCT Specifica che la funzione aggrega i risultati per ogni valore unico. DISTINCT non è supportato per le funzioni FIRST_VALUE, LAST_VALUE, LEAD o LAG. Non è inoltre supportato per le funzioni STDDEV, STDDEV_POP, STDDEV_SAMP, VARIANCE, VAR_POP O VAR_SAMP in un aggregato raggruppato o a finestre.
ESCLUDERE LA RIGA CORRENTE Specifica l'esclusione della riga corrente.
Escludi gruppo Specifica l'esclusione della riga corrente e di tutte le righe ad essa collegate. Le cravatte si verificano quando c'è una corrispondenza nella colonna o nelle colonne dell'ordine.
NON ESCLUDERE NESSUN ALTRO Specifica di non escludere alcuna riga. Questo valore è quello predefinito se non si specifica alcuna esclusione.
ESCLUDERE LE LEGHE Specifica l'esclusione di tutte le righe che sono collegate alla riga corrente (righe di pari livello), ma mantiene la riga corrente.
NULLS {FIRST | LAST} Specifica se i valori nulli vengono visualizzati prima o dopo i valori non nulli nell'ordinamento. Per impostazione predefinita, i valori nulli vengono ordinati come se fossero inferiori a qualsiasi valore non nullo; cioè, NULLS FIRST è l'impostazione predefinita per l'ordine DESC e NULLS LAST altrimenti.
ORDER BY Specifica come vengono ordinati i dati all'interno della partizione. È possibile ordinare i valori su più chiavi, ciascuna definita da una sequenza di ordinamento.
OVER Indica che la funzione opera su un insieme di risultati di query calcolati dopo le clausole FROM, WHERE e HAVING. Utilizzare over per definire la finestra di righe da includere nella funzione.
Partizione per Suddivide il risultato della query in gruppi basati su una o più colonne. Se si omette questa clausola, la query gestisce il risultato come una singola partizione.
RIGHE | INTERVALLO Definisce la finestra come righe fisiche o come intervallo logico. Per utilizzare l'intervallo tra, è necessario specificare la clausola order by.
SEGUITO NON VINCOLATO Specifica che la finestra termina all'ultima riga della partizione. Se non c'è una clausola di partizione per, la fine è l'ultima riga dell'insieme di dati.
PRECEDENTE NON VINCOLATO Specifica che la finestra inizia dalla prima riga della partizione. Se non c'è una clausola di partizione per, l'inizio è la prima riga dell'insieme di dati.