GROUP BY (SQL)
Da Wikipedia, l'enciclopedia libera
Nel linguaggio SQL, un'istruzione GROUP BY
indica che la selezione SELECT
deve partizionare le righe del risultato in gruppi, in funzione del loro valore in una o più colonne. L'istruzione GROUP BY
si riferisce alle colonne e tipicamente è usata per sintetizzare i dati in una qualche funzione aggregata per ogni gruppo.[1][2]
Il risultato di una query avente l'istruzione GROUP BY
contiene una riga per ogni gruppo. Ciò implica la presenza di vincoli sulle colonne che possono comparire nella SELECT
. Come regola generale, la SELECT
può contenere solo colonne con un valore univoco per gruppo (i dati oggetto di selezione da parte della SELECT
possono anche contenere valori ripetuti e in particolare nulli, ma non i valori delle colonne rispetto a cui si ordina il risultato).[3]
Esempi
Restituisce l'elenco dei DepartmentID con la relativa somma delle vendite a partire da gennaio 2000:
SELECT DeptID, SUM(SaleAmount) FROM Sales
WHERE SaleDate = '01-Jan-2000'
GROUP BY DeptID
Restituisce i dati della tabella pivot di esempio che risponde alla domanda: "Quante unità abbiamo venduto in ogni regione per ogni data di spedizione?":
SELECT Region, Ship_Date, SUM(Units) AS Sum_of_Units
FROM FlatData
GROUP BY Region, Ship_Date
Le più comuni funzioni di aggregazione sono:
- COUNT(espressione) - Quantità di record corrispondenti (per gruppo)
- SUM(espressione) - Somma dei valori dati (per gruppo)
- MIN(espressione) - Minimo dei valori dati (per gruppo)
- MAX(espressione) - Massimo dei valori dati (per gruppo)
- AVG(espressione) - Media dei valori dati (per gruppo)
Note
Voci correlate
Collegamenti esterni
Wikiwand - on
Seamless Wikipedia browsing. On steroids.