Riepilogo: in questo tutorial, imparerai come utilizzare la clausola SQL Server GROUP BY
per organizzare le righe in gruppi per una o più colonne.
Introduzione alla clausola GROUP BY di SQL Server
La clausolaGROUP BY
consente di organizzare le righe di una query in gruppi. I gruppi sono determinati dalle colonne specificate nella clausolaGROUP BY
.,
Quanto segue illustra la sintassi della clausolaGROUP BY
:
Code language: SQL (Structured Query Language) (sql)
In questa query, la clausolaGROUP BY
ha prodotto un gruppo per ogni combinazione dei valori nelle colonne elencate nellaGROUP BY
clausola.
si Consideri il seguente esempio:
In questo esempio, abbiamo recuperato l’id cliente e l’ordinato esercizio dei clienti con l’id del cliente uno e due.,
Come si può vedere chiaramente dall’output, il cliente con l’id one ha effettuato un ordine nel 2016 e due ordini nel 2018. Il cliente con id due ha effettuato due ordini nel 2017 e un ordine nel 2018.
aggiungiamo un GROUP BY
clausola per la query per vedere l’effetto:
GROUP BY
clausola di organizzare le prime tre righe in due gruppi e per i prossimi tre righe in altri due gruppi con le combinazioni uniche di numero di identificazione del cliente e di fine anno.,
Funzionalmente parlando, la clausolaGROUP BY
nella query precedente ha prodotto lo stesso risultato della seguente query che utilizza la clausolaDISTINCT
:
SQL Server GROUP BY clause e funzioni aggregate
In pratica, la clausolaGROUP BY
viene spesso utilizzato con funzioni aggregate per la generazione di report di riepilogo.
La clausolaGROUP BY
organizza le righe in gruppi e una funzione aggregata restituisce il riepilogo (count, min, max, average,sum, ecc.,) per ogni gruppo.,
Per esempio, la query seguente restituisce il numero di ordini effettuati dal cliente da un anno:
Se si desidera fare riferimento a una colonna o un’espressione che non è elencato nel GROUP BY
clausola, è necessario utilizzare la colonna come input di una funzione di aggregazione. In caso contrario, si otterrà un errore perché non vi è alcuna garanzia che la colonna o l’espressione restituirà un singolo valore per gruppo., Ad esempio, la seguente query fallirà:
Altri esempi di clausola GROUP BY
Prendiamo altri esempi per capire come funziona la clausola GROUP BY
.
Utilizzando la clausola GROUP BY con la funzione COUNT() esempio
La query seguente restituisce il numero di clienti in ogni città:
In questo esempio, GROUP BY
clausola di gruppi di clienti insieme da città e l’ COUNT()
funzione restituisce il numero di clienti di ogni città.,
Allo stesso modo, la seguente query restituisce il numero di clienti per stato e città.
Utilizzando la clausola GROUP BY con funzioni MIN e MAX di esempio
L’istruzione seguente restituisce il valore minimo e massimo i prezzi di listino di tutti i prodotti con il modello 2018 per marca:
In questo esempio, il WHERE
clausola viene elaborato prima del tag GROUP BY
clausola, come sempre.,v>
Utilizzando la clausola GROUP BY con funzione SOMMA esempio
Consultare il seguente order_items
tabella:
La seguente query utilizza il SUM()
funzione per ottenere il valore netto di ogni ordine e grado:
In questo tutorial, avete imparato come utilizzare SQL Server GROUP BY
clausola di organizzare le righe in gruppi da un elenco specificato di colonne.,