Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Ha részösszegeket szeretne létrehozni, vagy más összefoglaló információkat szeretne megjeleníteni egy tábla részhalmazaihoz, csoportokat hozhat létre összesítő lekérdezéssel. Minden csoport összegzi a táblázat összes olyan sorának adatait, amelyek azonos értékkel rendelkeznek.
Előfordulhat például, hogy szeretné látni egy könyv átlagos árát a titles táblában, de az eredményeket kiadó szerint bontja le. Ehhez a lekérdezést közzétevő szerint csoportosíthatja (például pub_id). Az eredményként kapott lekérdezés kimenete a következőképpen nézhet ki:
Az adatok csoportosításakor csak összefoglaló vagy csoportosított adatokat jeleníthet meg, például:
A csoportosított oszlopok (a záradékban
GROUP BYmegjelenő) értékei. A fenti példábanpub_ida csoportosított oszlop.Az olyan összesítő függvények által előállított értékek, mint a SZUM( ) és az AVG( ). A fenti példában a második oszlop az AVG() függvény és a
priceoszlop használatával jön létre.
Az egyes sorok értékei nem jeleníthetők meg. Ha például csak közzétevő szerint csoportosít, akkor nem jeleníthet meg egyéni címeket a lekérdezésben. Ezért ha oszlopokat ad hozzá a lekérdezés kimenetéhez, a Lekérdezés- és nézettervező eszközök (Visual Database Tools) automatikusan hozzáadja őket az GROUP BYSQL-panelen (Visual Database Tools) található utasítás záradékához. Ha ehelyett egy oszlopot szeretne összesíteni, megadhat egy aggregátumfüggvényt az adott oszlophoz.
Ha egynél több oszlop szerint csoportosít, a lekérdezés minden csoportja az összes csoportosítási oszlop összesített értékeit jeleníti meg.
A következő lekérdezés például a titles táblán csoportosít kiadó (pub_id) és a könyvtípus (type) szerint is. A lekérdezési eredményeket a közzétevő rendezi, és összesítő információkat jelenít meg a közzétevő által előállított különböző könyvtípusokról:
SELECT pub_id,
type,
SUM(price) AS Total_price
FROM titles
GROUP BY pub_id, type;
Az eredmény a következőhöz hasonló lehet:
Sorok csoportosítása
Indítsa el a lekérdezést úgy, hogy hozzáadja az összesíteni kívánt táblákat a Diagram panelhez.
Kattintson a jobb gombbal a Diagram panel hátterére, majd válassza a Csoport hozzáadása opciót a helyi menüből. A Lekérdezés- és nézettervező hozzáad egy Csoportosítás oszlopot a feltételpanel rácsához.
Adja hozzá a csoportosítani kívánt oszlopot vagy oszlopokat a Feltételek panelhez. Ha azt szeretné, hogy az oszlop megjelenjen a lekérdezés kimenetében, győződjön meg arról, hogy a Kimenet oszlop van kiválasztva a kimenethez.
A Lekérdezés- és nézettervező hozzáad egy záradékot
GROUP BYaz SQL-panelen található utasításhoz. Az SQL-utasítás például így nézhet ki:SELECT pub_id FROM titles GROUP BY pub_id;Adja hozzá az összesíteni kívánt oszlopot vagy oszlopokat a Feltételek panelhez. Győződjön meg arról, hogy az oszlop kimenetként van megjelölve.
A Csoportosítás rácscellájában az összesíteni kívánt oszlophoz válassza ki a megfelelő összesítő függvényt.
A Lekérdezés- és nézettervező automatikusan hozzárendel egy oszlop aliast az összegző oszlophoz. Ezt az automatikusan létrehozott aliast lecserélheti egy értelmesebbre. További részletekért lásd: Oszlop aliasok létrehozása (Visual Database Tools).
A SQL panel megfelelő utasítása a következőképpen nézhet ki:
SELECT pub_id, SUM(price) AS Totalprice FROM titles GROUP BY pub_id;