sammanfattning: i den här handledningen lär du dig hur du använder SQL Server GROUP BY
– klausulen för att ordna rader i grupper med en eller flera kolumner.
introduktion till SQL Server GROUP efter klausul
GROUP BY
kan du ordna rader av en fråga i grupper. Grupperna bestäms av kolumnerna som du anger iGROUP BY
– klausulen.,
följande illustrerarGROUP BY
– satsen syntax:
Code language: SQL (Structured Query Language) (sql)
i den här frågan skapade klausulenGROUP BY
en grupp för varje kombination av värdena i kolumnerna som listas i klausulenGROUP BY
.
Tänk på följande exempel:
i det här exemplet hämtade vi kund-id och kundernas beställda år med kund-id ett och två.,
som du tydligt kan se från produktionen placerade kunden med id one en order 2016 och två order 2018. Kunden med id två placerade två order 2017 och en order 2018.
låt oss lägga till en GROUP BY
– klausul i frågan för att se effekten:
klausulen GROUP BY
ordnade de tre första raderna i två grupper och nästa rad i två grupper.tre rader i de andra två grupperna med unika kombinationer av kund-ID och orderår.,
funktionellt sett gav klausulenGROUP BY
I ovanstående fråga samma resultat som följande fråga som använder klausulenDISTINCT
:
SQL Server GROUP BY clause and aggregate functions
i praktiken används klausulenGROUP BY
ofta med aggregerade funktioner för att generera sammanfattningsrapporter.
klausulenGROUP BY
ordnar rader i grupper och en aggregerad funktion returnerar sammanfattningen (count, min, max, average, sum, etc.,) för varje grupp.,
följande fråga returnerar till exempel antalet beställningar som kunden lägger per år:
om du vill referera till en kolumn eller ett uttryck som inte finns med i GROUP BY
– klausulen måste du använda den kolumnen som inmatningen av en aggregerad funktion. Annars får du ett fel eftersom det inte finns någon garanti för att kolumnen eller uttrycket kommer att returnera ett enda värde per grupp., Till exempel kommer följande fråga att misslyckas:
mer grupp för klausul exempel
låt oss ta några fler exempel för att förstå hur GROUP BY
– klausulen fungerar.
använda grupp för klausul med funktionen COUNT ()
följande fråga returnerar antalet kunder i varje stad:
i det här exemplet grupperar klausulenGROUP BY
kunderna tillsammans efter stad och funktionenCOUNT()
returnerar antalet kunder i varje stad.,
På samma sätt returnerar följande fråga antalet kunder efter stat och stad.
använda grupp för klausul med min och MAX funktioner exempel
följande uttalande returnerar lägsta och högsta listpriser för alla produkter med modellen 2018 efter märke:
i det här exemplet behandlas klausulenWHERE
före klausulen GROUP BY
, som alltid.,v>
använda grupp för klausul med SUM funktionsexempel
se följande order_items
tabell:
följande fråga använder funktionen SUM()
för att få nettovärdet för varje order:
i den här handledningen har du lärt dig hur du använder SQL Server GROUP BY
klausul för att ordna rader i grupper med en angiven lista med kolumner.,