Oracle/PLSQL: 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.

Oracle/PLSQL: cláusula GROUP BY

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

describir

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

sintaxis

La sintaxis de la cláusula GROUP BY en Oracle/PLSQL es:

SELECT expression1, expression2, ... expression_n, 
       aggregate_function (aggregate_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. La función agregada puede ser una función como SUM, COUNT, MIN, MAX o AVG. Expresión agregada Esta es la columna o expresión para la que se usará la función agregada. 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 SUMA

Veamos un ejemplo de una consulta Oracle GROUP BY usando la función SUM.

Este ejemplo de Oracle GROUP BY utiliza la función SUM para devolver el nombre del producto y las ventas totales (para un producto).

SELECT product, SUM(sale) AS "Total sales"
FROM order_details
GROUP BY product;

Dado que enumeró una columna (campo de producto) en la declaración SELECT que no estaba encapsulada en la función SUM, debe usar la cláusula GROUP BY. Por lo tanto, el campo del producto debe figurar en la cláusula GROUP BY.

Ejemplo: uso de la función CONTAR

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

Este ejemplo de GROUP BY usa la función COUNT para devolver una categoría y la cantidad de proveedores (en esa categoría) que tienen más de 45 productos disponibles.

SELECT category, COUNT(*) AS "Number of suppliers"
FROM suppliers
WHERE available_products > 45
GROUP BY category;

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 ese departamento.

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