logo

Clauza MySQL GROUP BY

Clauza MYSQL GROUP BY este utilizată pentru a colecta date din mai multe înregistrări și pentru a grupa rezultatul pe una sau mai multe coloane. Este folosit în general într-o instrucțiune SELECT.

De asemenea, puteți utiliza unele funcții agregate, cum ar fi COUNT, SUM, MIN, MAX, AVG etc. în coloana grupată.

Sintaxă:

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

Parametrii

expresie1, expresie2, ... expresie_n: Specifică expresiile care nu sunt încapsulate într-o funcție agregată și trebuie incluse în clauza GROUP BY.

funcția_agregată: Specifică o funcție cum ar fi tabele SUM, COUNT, MIN, MAX sau AVG etc.: Specifică tabelele de unde doriți să preluați înregistrările. Trebuie să existe cel puțin un tabel listat în clauza FROM.

dependență parțială

Conditii UNDE: Este optional. Acesta precizează condițiile care trebuie îndeplinite pentru ca înregistrările să fie selectate.

(i) Clauza MySQL GROUP BY cu funcția COUNT

Luați în considerare un tabel numit tabel „ofițeri”, având următoarele înregistrări.

Grupați MySQL după clauza 1

Acum, să numărăm numărul repetitiv de orașe din adresa coloanei.

Executați următoarea interogare:

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

Ieșire:

Grupați MySQL după clauza 2

(ii) Clauza MySQL GROUP BY cu funcție SUM

Să luăm un tabel tabel cu „angajați”, având următoarele date.

MySQL grupează prin clauza 3

Acum, următoarea interogare va GROUP BY exemplul folosind funcția SUM și va returna emp_name și totalul orelor de lucru ale fiecărui angajat.

Executați următoarea interogare:

reacţionează în stilul inline
 SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name; 

Ieșire:

MySQL grupează prin clauza 4

(iii) Clauza MySQL GROUP BY cu funcție MIN

Următorul exemplu specifică timpul minim de lucru al angajaților din tabelul „angajați”.

Executați următoarea interogare:

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

Ieșire:

Grupați MySQL după clauza 5

(iv) Clauza MySQL GROUP BY cu funcție MAX

Următorul exemplu specifică timpul maxim de lucru al angajaților din tabelul „angajați”.

format șir în java

Executați următoarea interogare:

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

Ieșire:

Grupați MySQL după clauza 6

(v) Clauza MySQL GROUP BY cu funcție AVG

Următorul exemplu specifică orele medii de lucru ale angajaților din tabelul „angajați”.

Executați următoarea interogare:

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

Ieșire:

MySQL grupează prin clauza 7