Saltar al contenido

GROUP BY

SQL · Unidad 6: Agrupar

En la unidad pasada sacaste el valor del almacén de Equipos, 4937, con un WHERE. Después el dueño quiso el de Audio, el de Pantallas y el de Accesorios. Era la misma consulta cuatro veces, cambiando una palabra.

¿Cuánto vale lo que hay en cada sección? GROUP BY categoria reparte las filas en montones, uno por cada categoría, y el SUM se hace una vez dentro de cada montón. Sale una fila por montón.

SELECT categoria,
  SUM(precio * stock) AS valor
FROM productos
GROUP BY categoria;

Devuelve

categoriavalor
Accesorios1143
Audio898.5
Equipos4937
Pantallas945

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Opción múltiple

    En pedidos hay 12 filas, y en ellas aparecen 7 productos distintos. El Parlante, que es el producto 8, no aparece, porque nadie lo ha pedido. ¿Cuántas filas devuelve esta consulta?

  2. 2. Predice la salida

    La tienda tiene 8 productos. Tres son accesorios, dos son de audio, dos son equipos y uno, el Monitor, es el único de Pantallas. ¿Qué devuelve esta consulta?

  3. 3. Completa el código

    ¿Cuántas unidades ha pedido cada cliente, entre todos sus pedidos? Completa con la columna que arma los grupos.

  4. 4. Ordena las líneas

    ¿Cuántos pedidos entraron cada día? Ordena la consulta. Sobran dos líneas.

  5. 5. Opción múltiple

    Mañana se registra un cliente nuevo, Tomás, y tampoco anota su ciudad. En la unidad 4 viste que NULL = NULL no se cumple. ¿Qué pasa con los grupos de GROUP BY ciudad?

  6. 6. Predice la salida

    A Sofía le falta la ciudad y tiene la edad anotada. A Camila, que vive en Bogotá igual que Luis, le falta la edad. ¿Qué devuelve esta consulta?

  7. 7. Encuentra el bug

    El dueño quiere saber cuántos clientes hay en cada ciudad, y cuántos no la tienen anotada. Esta consulta dice que sin ciudad hay 0, y Sofía está en la tabla. ¿Qué línea tiene el problema?

  8. 8. Ordena las líneas

    ¿Cuánto cuesta, en promedio, un producto de cada sección? Ordena la consulta que lo da con dos decimales y con las secciones de la Z a la A. Sobra una línea.

  9. 9. Opción múltiple

    El dueño pidió cuántos clientes hay en cada ciudad. Aquí esta consulta devuelve una sola fila, con Lima y un 8. ¿Qué línea le falta?

  10. 10. Predice la salida

    Los accesorios cuestan 45.5, 19.9 y 5.25. Lo de Audio, 59.9 y 74. Los equipos, 899 y 320. El Monitor, que está solo en Pantallas, 189. ¿Qué devuelve esta consulta?

  11. 11. Escribe el código

    La tienda quiere saber cuándo compró por última vez cada cliente, para escribirles a los que llevan más tiempo sin volver. Escribe una consulta con dos columnas en este orden: el cliente_id y la fecha de su último pedido. Una fila por cada cliente que ha pedido algo.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →