AD

¿Ya dominas lo básico? Un curso estructurado de SQL es la vía rápida para dar el salto.

Ver cursos de SQL en Udemy

Enlace de afiliado. No te cuesta nada extra.

🗄️Lecciones de SQL
Lección 40 / 50

Agregación condicional con CASE

En esta lección contarás por separado, en una sola consulta, los casos que cumplen distintas condiciones.

La técnica consiste en meter un CASE dentro de una función de agregación. COUNT() ignora los NULL, así que COUNT(CASE WHEN condición THEN 1 END) cuenta únicamente las filas que cumplen la condición: las demás producen NULL y no se cuentan.

El código de ejemplo devuelve en una única fila cuántos aprobaron y cuántos no. Sin esta técnica harían falta dos consultas y luego combinarlas.

Aquí es fundamental no poner un ELSE 0: con COUNT, un cero también se cuenta, porque no es NULL, y ambas columnas darían el total de filas. Si prefieres usar SUM(CASE WHEN condición THEN 1 ELSE 0 END), ahí el ELSE 0 sí es correcto.

Es el patrón con el que se construyen las tablas cruzadas de los informes: ventas por trimestre en columnas, estados de pedido uno al lado del otro, tasas de conversión por segmento. Una sola pasada sobre la tabla y todos los números a la vez.

SQL
SALIDA

💡 El motor de SQL puede tardar unos segundos en cargarse la primera vez que ejecutas código.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)