rezumat: în acest tutorial, veți învăța cum să utilizați SQL ServerGROUP BY
clauza pentru a aranja rânduri în grupuri de una sau mai multe coloane.
Introducere în SQL Server GROUP BY clauză
GROUP BY
clauza vă permite să aranjați rândurile unei interogări în grupuri. Grupurile sunt determinate de coloanele pe care le specificați în clauza GROUP BY
.,
următoarele ilustrează GROUP BY
clauza sintaxa:
Code language: SQL (Structured Query Language) (sql)
În această interogare, GROUP BY
clauza de produse-un grup pentru fiecare combinație de valori în coloanele enumerate în GROUP BY
clauză.
luați în Considerare următorul exemplu:
În acest exemplu, am recuperat id-ul de client și a ordonat an de la clienții cu id-ul de client unu și doi.,după cum puteți vedea clar din ieșire, clientul cu id-ul a plasat o comandă în 2016 și două comenzi în 2018. Clientul cu id two a plasat două comenzi în 2017 și o comandă în 2018.
Să adăugați un GROUP BY
clauza de interogare pentru a vedea efectul:
GROUP BY
clauza aranjate primele trei rânduri în două grupuri și următorii trei rânduri în celelalte două grupuri cu combinații unice de id-ul de client și ordine an.,
din punct de vedere Funcțional vorbind, GROUP BY
clauză în interogarea de mai sus a produs același rezultat ca și următoarea interogare care utilizează DISTINCT
clauză:
SQL Server clauza GROUP BY și funcții agregate
În practică, GROUP BY
clauză este adesea folosit cu funcții agregate pentru generarea de rapoarte de sinteză.
GROUP BY
clauza aranjează rânduri în grupuri și o funcție agregată returnează rezumatul (count, min, max, average, sum, etc..) pentru fiecare grup.,
De exemplu, următoarea interogare returnează numărul de comenzi plasate de către client de an:
Dacă doriți să se refere la orice coloană sau o expresie care nu este listat în GROUP BY
clauza, trebuie să utilizați coloana aia ca intrare de o funcție agregată. În caz contrar, veți primi o eroare, deoarece nu există nicio garanție că coloana sau expresia vor returna o singură valoare pe grup., De exemplu, următoarea interogare va eșua:
mai multe exemple de grup după clauză
Să luăm câteva exemple pentru a înțelege cum funcționează clauza GROUP BY
.
Folosind clauza GROUP BY cu funcția COUNT() exemplu
următoarea interogare returnează numărul de clienți din fiecare oras:
În acest exemplu, GROUP BY
clauza grupuri de clienți împreună prin oraș și COUNT()
funcția returnează numărul de clienți din fiecare oraș.,în mod similar, următoarea interogare returnează numărul de clienți în funcție de stat și oraș.
Folosind clauza GROUP BY cu MIN și MAX funcțiile de exemplu,
următoarea declarație se întoarce minime și maxime lista de prețuri pentru toate produsele cu modelul 2018 de brand:
În acest exemplu, WHERE
clauză este procesat înainte de GROUP BY
clauza, ca întotdeauna.,v>
Folosind clauza GROUP BY cu funcția SUM exemplu
a se Vedea următoarele order_items
tabel:
următoarea interogare folosește SUM()
funcția pentru a obține valoarea netă de fiecare ordin:
În acest tutorial, ai învățat cum să utilizați SQL Server GROUP BY
clauză pentru a aranja rânduri în grupuri de o anumită listă de coloane.,