A MYSQL GROUP BY záradék több rekordból származó adatok gyűjtésére és az eredmények egy vagy több oszlop szerinti csoportosítására szolgál. Általában SELECT utasításban használják.
A csoportosított oszlopban néhány összesítő függvényt is használhat, például COUNT, SUM, MIN, MAX, AVG stb.
Szintaxis:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
Paraméterek
kifejezés1, kifejezés2, ... kifejezés_n: Meghatározza azokat a kifejezéseket, amelyek nincsenek beágyazva egy összesített függvénybe, és szerepelniük kell a GROUP BY záradékban.
aggregate_function: Olyan függvényeket ad meg, mint a SUM, COUNT, MIN, MAX vagy AVG stb. táblák: Megadja a táblákat, ahonnan a rekordokat le szeretné kérni. Legalább egy táblázatnak szerepelnie kell a FROM záradékban.
WHERE feltételek: Ez nem kötelező. Meghatározza azokat a feltételeket, amelyeknek teljesülniük kell a rekordok kiválasztásához.
(i) MySQL GROUP BY záradék COUNT függvénnyel
Vegyünk egy „tisztek” nevű táblát, amely a következő rekordokkal rendelkezik.
Most számoljuk meg a városok ismétlődő számát a cím oszlopban.
Hajtsa végre a következő lekérdezést:
SELECT address, COUNT(*) FROM officers GROUP BY address;
Kimenet:
(ii) MySQL GROUP BY záradék SUM függvénnyel
Vegyünk egy „munkavállalók” táblázatot, amely a következő adatokkal rendelkezik.
Most a következő lekérdezés a SUM függvényt használó példa szerint CSOPORTOSÍTJA, és visszaadja az emp_name értékét és az egyes alkalmazottak összesített munkaidejét.
Hajtsa végre a következő lekérdezést:
SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name;
Kimenet:
(iii) MySQL GROUP BY záradék MIN funkcióval
A következő példa megadja a munkavállalók minimális munkaidejét a „munkavállalók” táblázatból.
Hajtsa végre a következő lekérdezést:
SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Kimenet:
(iv) MySQL GROUP BY záradék MAX függvénnyel
A következő példa megadja a munkavállalók maximális munkaidejét a „munkavállalók” táblázatból.
Hajtsa végre a következő lekérdezést:
SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Kimenet:
(v) MySQL GROUP BY záradék AVG funkcióval
A következő példa az alkalmazottak átlagos munkaidejét adja meg a „munkavállalók” táblázatból.Hajtsa végre a következő lekérdezést:
SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name;
Kimenet: