Concepto
Hasta ahora cada fila del resultado correspondía a una fila de la tabla. Las funciones de agregación hacen lo contrario: resumen muchas filas en un solo valor, como el total, el promedio o el máximo.
SELECT COUNT(*), AVG(columna), MIN(columna), MAX(columna), SUM(columna)
FROM tabla;Una tabla entera, una fila. Sin GROUP BY (la próxima lección), una consulta con agregaciones devuelve exactamente una fila con el resumen de toda la tabla.
SELECT COUNT(*) AS cursos, SUM(horas) AS horas_totales FROM cursos;AVG, MIN y MAX. El promedio, el menor y el mayor valor de una columna. El promedio suele llevar ROUND.
SELECT ROUND(AVG(horas), 1) AS horas_promedio, MIN(horas) AS curso_mas_corto, MAX(horas) AS curso_mas_largo FROM cursos;COUNT(*) o COUNT(columna). COUNT(*) cuenta filas. COUNT(columna) cuenta solo las filas donde esa columna tiene dato: los NULL no se cuentan. La diferencia entre los dos es la cantidad de datos faltantes.
SELECT COUNT(*) AS estudiantes, COUNT(correo) AS con_correo FROM estudiantes;Las agregaciones ignoran los NULL. AVG, MIN, MAX y SUM trabajan solo con los valores que existen. Es lo que normalmente quieres, pero conviene saberlo: un promedio sobre 11 notas no es un promedio sobre 12 inscripciones.
> tarea SQL
Prepara el resumen del semestre en una sola fila, con estas columnas: total_inscripciones (todas las inscripciones), con_nota (las que ya tienen nota), promedio_general (el promedio de las notas, redondeado a 2 decimales), nota_minima y nota_maxima.
Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.