PostgreSQL: cláusula GROUP BY

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

PostgreSQL: cláusula GROUP BY

Este tutorial de PostgreSQL explica cómo usar PostgreSQL Cláusula GROUP BY Con sintaxis y ejemplos.

describir

La cláusula GROUP BY de PostgreSQL se usa en una declaración SELECT para recopilar datos en varios registros y agrupar los resultados en una o más columnas.

sintaxis

La sintaxis de la cláusula GROUP BY en PostgreSQL es:

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

parámetro o parámetro

expresión1, expresión2, … expresión_n Expresiones que no están encapsuladas en funciones agregadas y deben incluirse en la cláusula GROUP BY. Función_agregada Puede ser una función agregada, como una función de suma, conteo, mínimo, máximo o promedio. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Para seleccionar las condiciones que debe cumplir un registro.

Ejemplo: uso de la función de suma

Veamos un ejemplo de una consulta GROUP BY de PostgreSQL usando la función sum.

Este ejemplo de GROUP BY de PostgreSQL usa la función sum para devolver el nombre del departamento y el salario total (departamento).

SELECT department, sum(salary) AS "Salaries for department"
FROM employees
GROUP BY department;

Debido a que enumeró una columna (campo de departamento) en la declaración SELECT que no estaba encapsulada en la función de suma, debe usar la cláusula GROUP BY. Por lo tanto, el campo de departamento debe aparecer en la cláusula GROUP BY.

Ejemplo: uso de la función de conteo

Veamos cómo usar la cláusula GROUP BY con la función de conteo.

Este ejemplo de GROUP BY utiliza la función de recuento para devolver el departamento y la cantidad de empleados con un estado “activo” (para ese departamento).

SELECT department, count(*) AS "Number of employees"
FROM employees
WHERE status="Active"
GROUP BY department;

Ejemplo: uso de la función min

A continuación, veamos cómo usar la cláusula GROUP BY con la función min.

Este ejemplo de GROUP BY usa la función min para devolver el nombre de cada departamento y el salario mínimo en ese departamento.

SELECT department, min(salary) AS "Lowest salary"
FROM employees
GROUP BY department;

Ejemplo: uso de la función max

Finalmente, veamos cómo usar la cláusula GROUP BY con la función max.

Este ejemplo de GROUP BY usa la función max para devolver el nombre de cada departamento y el salario más alto en el departamento.

SELECT department, max(salary) AS "Highest salary"
FROM employees
GROUP BY department;