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.