Agrupaciones por varias columnas
En ocasiones vamos a querer agrupar por más de una columna. Por ejemplo, si quisiera saber la cantidad de copias de cada película en cada tienda:
SELECT i.store_id, f.title, COUNT(*) as copies
FROM
inventory i
INNER JOIN film f ON f.film_id= i.inventory_id
GROUP BY i.store_id, f.film_id;El número de películas diferentes que hay en cada país y en cada ciudad:
SELECT
c.country_id, c.city_id, count(distinct i.film_id)
FROM city c
JOIN address a USING (city_id)
JOIN store s USING (address_id)
JOIN inventory i USING (store_id)
GROUP BY
c.country_id, c.city_id;Número de películas diferentes que hay en cada categoría y de cada lenguaje:
SELECT
category_id, language_id, COUNT(*)
FROM film f
JOIN film_category fc USING(film_id)
JOIN language l USING (language_id)
GROUP BY
category_id, language_id;Last updated