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.
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:
(ii) MySQL GROUP BY clàusula amb funció SUMA
Prenem una taula 'empleats', amb les dades següents.
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:
(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
(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:
(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: