20. Claúsula GROUP BY

Cuando estamos ejecutando una función de agrupamiento, necesitamos utilizar la clausula GROUP BY permite utilizar el mismo campo dos veces y no nos de error. Veamos un ejm de su uso.

Ejm

SELECT precio, MAX(precio) AS precio_maximo FROM productos GROUP BY precio;
SELECT nombre, precio, MAX(precio) AS precio_maximo FROM productos GROUP BY
precio, nombre

Veamos otro ejm.

Ejm

-- Creamos la DB musica
CREATE DATABASE musica

-- Usamos la DB musica
USE musica;

-- Creamos tabla bandas
CREATE TABLE bandas (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(250),
estilo VARCHAR(250)
);

-- Incluímos registros
INSERT INTO bandas (id, nombre, estilo) VALUES
(0, "Iron Maiden","Heavy Metal"),
(0, "Metallica", "Thrash Metal"),
(0, "Judas Priest", "Heavy Metal")

-- Hacemos consulta tipo GROUP BY que nos cuente por estilos
SELECT estilo, COUNT(*)  AS total FROM bandas GROUP BY estilo;

Si quisiéramos incluir una clausula WHERE para acotar nuestras consultas, dicho WHERE tiene que ir antes de la clausula GROUP BY, de la siguiente manera.

SELECT estilo, COUNT(*) AS total FROM bandas WHERE pais = "EEUU" GROUP BY estilo;

Esta clausula nos mostrará el total de estilos de las bandas incluidas en nuestra base de datos que sean de EEUU.

Scroll al inicio