COUNT, SUM, AVG con GROUP BY y HAVING
Hasta ahora cada consulta devolvía filas de la tabla. Ahora hacemos preguntas de resumen: ¿cuántos pedidos se pagaron? ¿Cuánto dinero aportó cada cliente? ¿Quién pidió más de una vez? Son las preguntas de entrevista más comunes después de JOIN, y su trampa de siempre es la diferencia entre WHERE y H
Una función de agregación convierte muchas filas en un solo número. GROUP BY lo hace para cada grupo por separado, y HAVING filtra los grupos.
- Función de agregación
- Una función que recibe muchas filas y devuelve un solo valor, como COUNT, SUM o AVG.
- GROUP BY
- Una cláusula que divide las filas en grupos según un valor compartido y devuelve una fila por grupo.
- HAVING
- Una cláusula que filtra los grupos después de la agregación, por ejemplo solo los grupos con más de dos filas.