logo

MySQL GROUP BY záradék

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.

MySQL csoport az 1. záradék szerint

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:

MySQL csoport a 2. záradék szerint

(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.

MySQL csoport a 3. záradék szerint

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:

MySQL csoport a 4. záradék szerint

(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:

MySQL csoport az 5. záradék szerint

(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:

MySQL csoport a 6. záradék szerint

(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:

MySQL csoport a 7. záradék szerint