SQL PARTITION BY (Italiano)

Riepilogo: in questo tutorial imparerai come utilizzare lSQL PARTITION BY per modificare il modo in cui la funzione finestra calcola il risultato.

Panoramica della clausola SQL PARTITION BY

La clausola PARTITION BY è una clausola secondaria di la clausola OVER. La clausola PARTITION BY divide il set di risultati di una query in partizioni. La funzione finestra viene gestita separatamente su ciascuna partizione e viene ricalcolata per ciascuna partizione.

Quanto segue mostra la sintassi della clausola PARTITION BY:

È possibile specificare una o più colonne o espressioni per partizionare il set di risultati. expression1, expression1 e così via possono fare riferimento solo alle colonne derivate da FROM clausola. Non possono fare riferimento a espressioni o alias nellelenco di selezione.

Le espressioni della clausola PARTITION BY possono essere espressioni di colonna, sottoquery scalare o funzione scalare. Nota che una sottoquery scalare e una funzione scalare restituiscono sempre un singolo valore.

Se ometti la clausola PARTITION BY, lintero set di risultati viene trattato come una singola partizione.

PARTITION BY e GROUP BY

La clausola GROUP BY viene utilizzata spesso insieme a una funzione di aggregazione come SUM() e AVG(). La clausola GROUP BY riduce il numero di righe restituite arrotolandole e calcolando le somme o le medie per ogni gruppo.

Ad esempio, la seguente istruzione restituisce la media stipendio dei dipendenti per reparti:

La figura seguente mostra il risultato:

La clausola PARTITION BY divide il set di risultati in partizioni e cambia il modo in cui viene calcolata la funzione della finestra. La clausola PARTITION BY non riduce il numero di righe restituite.

La seguente istruzione restituisce lo stipendio del dipendente e anche lo stipendio medio del dipartimento del dipendente:

Ecco loutput parziale:

In parole semplici, la clausola GROUP BY è aggregata mentre la clausola PARTITION BY è analitica.

In questo tutorial, hai imparato a conoscere la clausola SQL PARTITION BY che cambia il modo in cui viene calcolato il risultato della funzione finestra.

  • Questo tutorial è stato utile?
  • SìNo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *