Conviene haber comprendido Uniones avanzadas.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Agregación con COUNT y DISTINCT y resolver un caso nuevo.
Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.
Las primeras secciones se leen sin instalar nada. Para practicar SQL prepara PostgreSQL o un DBMS equivalente.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Agregación y COUNT y DISTINCT? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Resumirás muchas filas en indicadores fiables y comprenderás cómo DISTINCT y los valores NULL cambian el significado de un conteo.
- Las funciones de grupo producen un valor por conjunto
- COUNT(*) y COUNT(columna) no siempre coinciden
- NVL cambia la pregunta que responde un promedio
Las funciones de grupo producen un valor por conjunto
SUM, AVG, MIN, MAX y COUNT analizan varias filas. Sin GROUP BY, toda la selección forma un solo grupo.
SUM y AVG requieren datos numéricos.
MIN y MAX funcionan con números, textos o fechas compatibles.
COUNT(*) cuenta filas.
¿Cuántas filas devuelve esta consulta si hay cien ventas?
Mostrar respuesta +
Una fila con tres valores agregados, porque no hay GROUP BY.
COUNT(*) y COUNT(columna) no siempre coinciden
COUNT(*) cuenta filas. COUNT(columna) ignora NULL. COUNT(DISTINCT columna) cuenta valores diferentes que no sean NULL.
COUNT(*) incluye filas con valores ausentes.
COUNT(correo) solo cuenta correos conocidos.
DISTINCT elimina repeticiones antes de contar.
Hay 10 clientes, 3 con correo NULL y 5 ciudades distintas. ¿Qué devuelven COUNT(*), COUNT(correo) y COUNT(DISTINCT ciudad)?
Mostrar respuesta +
10, 7 y 5 respectivamente, suponiendo que ninguna ciudad sea NULL.
NVL cambia la pregunta que responde un promedio
AVG(bono) ignora bonos NULL; AVG(NVL(bono,0)) los trata como cero. Ninguna opción es universalmente correcta: depende de la regla del negocio.
Ignorar NULL mide solo bonos conocidos.
Sustituir por cero asume que ausencia significa no recibir bono.
La decisión debe documentarse.
¿Cuándo sería incorrecto reemplazar un salario NULL por cero?
Mostrar respuesta +
Cuando NULL significa que el salario es desconocido. Cero afirmaría algo distinto y reduciría artificialmente el promedio.
Tu recorrido en tres ideas
- Las funciones de grupo producen un valor por conjunto
- COUNT(*) y COUNT(columna) no siempre coinciden
- NVL cambia la pregunta que responde un promedio
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Tratar COUNT(*), COUNT(columna) y COUNT(DISTINCT columna) como equivalentes.
Calcular promedios sin decidir qué significa un valor ausente.
Ahora hazlo sin guía
Construye un resumen de ventas con filas totales, clientes conocidos, clientes distintos, suma y promedio.
Mostrar pauta de corrección +
- Cada indicador responde una pregunta explícita.
- Explica cómo afecta NULL a cada cálculo.
- Contrasta el resultado con un conjunto pequeño conocido.
