logo

Cláusula MySQL GRUPO POR

La cláusula MYSQL GROUP BY se utiliza para recopilar datos de múltiples registros y agrupar el resultado por una o más columnas. Generalmente se usa en una declaración SELECT.

También puede utilizar algunas funciones agregadas como COUNT, SUM, MIN, MAX, AVG, etc. en la columna agrupada.

Sintaxis:

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

Parámetros

expresión1, expresión2, ... expresión_n: Especifica las expresiones que no están encapsuladas dentro de una función agregada y deben incluirse en la cláusula GROUP BY.

función agregada: Especifica una función como tablas SUM, COUNT, MIN, MAX o AVG, etc.: Especifica las tablas de donde desea recuperar los registros. Debe haber al menos una tabla listada en la cláusula FROM.

DONDE condiciones: Es opcional. Especifica las condiciones que deben cumplirse para que los registros sean seleccionados.

(i) Cláusula MySQL GROUP BY con función COUNT

Considere una tabla denominada 'tabla de oficiales', que tiene los siguientes registros.

Grupo MySQL por cláusula 1

Ahora, contemos el número repetitivo de ciudades en la dirección de la columna.

Ejecute la siguiente consulta:

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

Producción:

Grupo MySQL por cláusula 2

(ii) Cláusula MySQL GROUP BY con función SUM

Tomemos una tabla de 'empleados', que tenga los siguientes datos.

árbol binario
Grupo MySQL por cláusula 3

Ahora, la siguiente consulta AGRUPARÁ POR el ejemplo usando la función SUMA y devolverá el nombre_emp y las horas de trabajo totales de cada empleado.

Ejecute la siguiente consulta:

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

Producción:

Grupo MySQL por cláusula 4

(iii) Cláusula MySQL GROUP BY con función MIN

El siguiente ejemplo especifica las horas de trabajo mínimas de los empleados de la tabla 'empleados'.

Ejecute la siguiente consulta:

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

Producción:

Grupo MySQL por cláusula 5

(iv) Cláusula MySQL GROUP BY con función MAX

El siguiente ejemplo especifica las horas máximas de trabajo de los empleados de la tabla 'empleados'.

Ejecute la siguiente consulta:

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

Producción:

Grupo MySQL por cláusula 6

(v) Cláusula MySQL GROUP BY con función AVG

El siguiente ejemplo especifica las horas de trabajo promedio de los empleados de la tabla 'empleados'.

¿Qué es jQuery?

Ejecute la siguiente consulta:

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

Producción:

Grupo MySQL por cláusula 7