összefoglaló: ebben az oktatóanyagban megtudhatja, hogyan kell használni az SQL Server GROUP BY
záradékot a sorok csoportokba rendezéséhez egy vagy több oszlop segítségével.
Bevezetés Az SQL Server csoportba
a GROUP BY
záradék lehetővé teszi a lekérdezés sorainak csoportokba rendezését. A csoportokat a GROUP BY
pontban megadott oszlopok határozzák meg.,
az alábbi ábra a GROUP BY
záradék szintaxis:
Code language: SQL (Structured Query Language) (sql)
ebben a lekérdezésben a GROUP BY
záradék egy csoportot hozott létre a GROUP BY
oszlopokban szereplő értékek minden kombinációjára / div > záradék.
vegye figyelembe a következő példát:
ebben a példában az ügyfélazonosítót és az ügyfelek megrendelt évét az ügyfélazonosítóval egy és kettő.,
amint az a kimenetből jól látható, az azonosítóval rendelkező ügyfél 2016-ban egy, 2018-ban pedig két megrendelést adott le. Az id two-val rendelkező ügyfél 2017-ben két megrendelést, 2018-ban pedig egy megrendelést adott le.
adjunk hozzá egy GROUP BY
záradékot a lekérdezéshez a hatás megtekintéséhez:
a GROUP BY
záradék az első három sort két csoportra, a következő három sort pedig a másik két csoportra rendezte, az Ügyfélazonosító és a rendelési év egyedi kombinációival.,
Funkcionálisan elmondható, hogy a GROUP BY
záradék a fenti lekérdezés előállított ugyanazt az eredményt, mint a következő lekérdezést, amely a DISTINCT
záradék:
SQL Server GROUP BY záradék, valamint összesített funkciók
A gyakorlatban a GROUP BY
záradék gyakran használt összesített funkciók generáló összefoglaló jelentések.
a GROUP BY
záradék sorokat csoportokba rendez, az összesített függvény pedig visszaadja az összefoglalót (gróf, min, max, Átlag, összeg, stb.).,) minden csoport számára.,
például a következő lekérdezés adja vissza az ügyfél által évente leadott megrendelések számát:
ha olyan oszlopra vagy kifejezésre szeretne hivatkozni, amely nem szerepel a GROUP BY
záradék, ezt az oszlopot kell használni egy aggregált funkció bemeneteként. Ellenkező esetben hibát fog kapni, mert nincs garancia arra, hogy az oszlop vagy kifejezés csoportonként egyetlen értéket fog visszaadni., Például a következő lekérdezés sikertelen lesz:
több csoport a
példákkal Vegyünk néhány további példát, hogy megértsük, hogyan működik a GROUP BY
záradék.
A COUNT() függvénypélda
használatával a következő lekérdezés minden városban megadja az ügyfelek számát:
ebben a példában a GROUP BY
clause csoportok az ügyfelek együtt város és a COUNT()
funkció visszaadja az ügyfelek száma minden városban.,
Hasonlóképpen a következő lekérdezés adja vissza az ügyfelek számát államonként és városonként.
A GROUP BY záradék a a MIN MAX funkciók példa
A következő nyilatkozatot visszatér a minimális, illetve a maximális lista árak minden termék a modell 2018 által márka:
ebben A példában a WHERE
záradék feldolgozása előtt a GROUP BY
záradék, mint mindig.,v>
A GROUP BY záradék a SZUM függvény példa
a következő order_items
táblázat:
A következő lekérdezés használja a SUM()
funkció, hogy a nettó érték minden sorrendben:
ez A bemutató, megtanultuk, hogyan kell használni az SQL Server GROUP BY
kikötés, hogy gondoskodjon sor a csoportok által meghatározott listáját az oszlopok.,