logo

MySQL GROUP BY clàusula

La clàusula MYSQL GROUP BY s'utilitza per recopilar dades de diversos registres i agrupar el resultat per una o més columnes. Generalment s'utilitza en una instrucció SELECT.

També podeu utilitzar algunes funcions agregades com COUNT, SUM, MIN, MAX, AVG, etc. a la columna agrupada.

Sintaxi:

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

Paràmetres

expressió1, expressió2, ... expressió_n: Especifica les expressions que no estan encapsulades dins d'una funció agregada i s'han d'incloure a la clàusula GROUP BY.

funció_agregada: Especifica una funció com ara taules SUM, COUNT, MIN, MAX o AVG, etc.: Especifica les taules d'on es volen recuperar els registres. Hi ha d'haver almenys una taula llistada a la clàusula FROM.

ON condicions: És opcional. Especifica les condicions que s'han de complir perquè els registres siguin seleccionats.

(i) MySQL GROUP BY clàusula amb funció COUNT

Considereu una taula anomenada 'taula d'oficials', que té els registres següents.

MySQL agrupa per la clàusula 1

Ara, anem a comptar el nombre repetitiu de ciutats a l'adreça de la columna.

Executeu la consulta següent:

comanda d'instal·lació npm
 SELECT address, COUNT(*) FROM officers GROUP BY address; 

Sortida:

MySQL agrupa per la clàusula 2

(ii) MySQL GROUP BY clàusula amb funció SUMA

Prenem una taula 'empleats', amb les dades següents.

MySQL agrupa per la clàusula 3

Ara, la consulta següent s'agruparà per l'exemple utilitzant la funció SUMA i retornarà el nom_emp i les hores de treball totals de cada empleat.

Executeu la consulta següent:

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

Sortida:

MySQL agrupa per la clàusula 4

(iii) MySQL GROUP BY clàusula amb funció MIN

L'exemple següent especifica la jornada mínima de treball dels empleats de la taula 'empleats'.

Executeu la consulta següent:

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

Sortida:

formatar una data en java
MySQL agrupa per la clàusula 5

(iv) MySQL GROUP BY clàusula amb funció MAX

L'exemple següent especifica la jornada màxima de treball dels empleats de la taula 'empleats'.

Executeu la consulta següent:

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

Sortida:

MySQL agrupa per la clàusula 6

(v) Clàusula MySQL GROUP BY amb funció AVG

L'exemple següent especifica les hores de treball mitjanes dels empleats de la taula 'empleats'.

Executeu la consulta següent:

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

Sortida:

MySQL agrupa per la clàusula 7