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.
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:
(ii) Cláusula MySQL GROUP BY con función SUM
Tomemos una tabla de 'empleados', que tenga los siguientes datos.
árbol binario
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:
(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:
(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:
(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: