logo

MySQL GROUP BY klauzula

MYSQL klauzula GROUP BY koristi se za prikupljanje podataka iz više zapisa i grupiranje rezultata prema jednom ili više stupaca. Obično se koristi u naredbi SELECT.

Također možete koristiti neke agregatne funkcije kao što su COUNT, SUM, MIN, MAX, AVG itd. na grupiranom stupcu.

Sintaksa:

 SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n; 

Parametri

izraz1, izraz2, ... izraz_n: Određuje izraze koji nisu enkapsulirani unutar agregatne funkcije i moraju biti uključeni u klauzulu GROUP BY.

funkcija_agregata: Određuje funkciju kao što je SUM, COUNT, MIN, MAX ili AVG itd. tablice: Određuje tablice iz kojih želite dohvatiti zapise. Mora postojati barem jedna tablica navedena u klauzuli FROM.

WHERE uvjeti: Nije obavezno. Određuje uvjete koji moraju biti ispunjeni da bi zapisi bili odabrani.

(i) MySQL klauzula GROUP BY s funkcijom COUNT

Razmotrite tablicu pod nazivom 'tablica časnika' koja ima sljedeće zapise.

pretvorba i kasting java tipa
MySQL grupa prema klauzuli 1

Sada, izbrojimo broj gradova koji se ponavljaju u stupcu adresa.

Izvršite sljedeći upit:

 SELECT address, COUNT(*) FROM officers GROUP BY address; 

Izlaz:

MySQL grupa prema klauzuli 2

(ii) MySQL GROUP BY klauzula s funkcijom SUM

Uzmimo tablicu 'zaposlenici' koja ima sljedeće podatke.

MySQL grupa prema klauzuli 3

Sada će sljedeći upit GROUP BY primjera pomoću funkcije SUM i vratiti emp_name i ukupno radno vrijeme svakog zaposlenika.

Izvršite sljedeći upit:

sonu nigam
 SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name; 

Izlaz:

MySQL grupa prema klauzuli 4

(iii) MySQL klauzula GROUP BY s funkcijom MIN

Sljedeći primjer navodi minimalno radno vrijeme zaposlenika iz tablice 'zaposlenici'.

Izvršite sljedeći upit:

 SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name; 

Izlaz:

MySQL grupa prema klauzuli 5

(iv) MySQL klauzula GROUP BY s funkcijom MAX

Sljedeći primjer specificira maksimalno radno vrijeme zaposlenika iz tablice 'zaposlenici'.

Izvršite sljedeći upit:

 SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name; 

Izlaz:

MySQL grupa prema klauzuli 6

(v) MySQL GROUP BY klauzula s AVG funkcijom

Sljedeći primjer navodi prosječno radno vrijeme zaposlenika iz tablice 'zaposlenici'.

Izvršite sljedeći upit:

 SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name; 

Izlaz:

MySQL grupa prema klauzuli 7