Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Agrupar con GROUP BY y filtrar grupos con HAVING

3 tareas · 25 min · Principiante

`GROUP BY` junta las filas que comparten un valor (por ejemplo, el mismo producto) para calcular algo sobre cada grupo, como `SUM(cantidad)`. `HAVING` filtra esos grupos YA calculados; `WHERE` no sirve para eso porque filtra ANTES de agrupar, cuando el total todavía no existe.

0 de 3 · 0%

Objetivo de la sala

`GROUP BY` junta las filas que comparten un valor (por ejemplo, el mismo producto) para calcular algo sobre cada grupo, como `SUM(cantidad)`. `HAVING` filtra esos grupos YA calculados; `WHERE` no sirve para eso porque filtra ANTES de agrupar, cuando el total todavía no existe.

consulta_1.sql suma cantidad por producto: SUM(pedidos.cantidad) ... GROUP BY productos.id.

Para responder aquí hace falta una cuenta

Puedes leer toda la sala sin cuenta. Responder y guardar tu avance pide entrar; al volver aterrizas en esta misma sala.

Responde para continuar

Sin el `GROUP BY productos.id`, ¿qué pasaría con `SUM(pedidos.cantidad)` en esa misma consulta?

Ver pista de ayuda

`GROUP BY` es lo que le dice a `SUM` dónde "cortar" para empezar a sumar de nuevo. Sin ese corte, sigue sumando todo lo que encuentra.

consulta_2.sql agrega HAVING SUM(pedidos.cantidad) > 10 a la consulta anterior.

Para responder aquí hace falta una cuenta

Puedes leer toda la sala sin cuenta. Responder y guardar tu avance pide entrar; al volver aterrizas en esta misma sala.

Responde para continuar

¿Por qué esa condición va en `HAVING` y no en `WHERE`?

Ver pista de ayuda

Cuando SQLite llega a evaluar `WHERE`, todavía no calculó ningún `SUM`; cuando llega a `HAVING`, el `SUM` de cada grupo ya existe.

Esta tarea se hace en el laboratorio

Una terminal con los archivos del caso, aquí en la página. No instalas nada y no puedes romper nada.

Preparando la estación…

Para responder aquí hace falta una cuenta

Puedes leer toda la sala sin cuenta. Responder y guardar tu avance pide entrar; al volver aterrizas en esta misma sala.

Responde para continuar

Según `resultado.log` de la segunda consulta (`HAVING SUM(pedidos.cantidad) > 10`), ¿cuántos productos quedaron en el resultado? Escribe solo el número.

Ver pista de ayuda

Cuenta las filas de la segunda tabla de resultado.

Entra para responder, guardar tu avance y ganar puntos.

Preparando la estación…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build b903d9

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio y la seguridad de tu sesión y, solo si lo autorizas, analítica. Puedes aceptar, rechazar o personalizar. Política de Cookies · Política de Privacidad