¿Qué es lo que realmente quieres contar?
COUNT(*) cuenta todas las líneas perimetrales. COUNT(telephone) solo cuenta líneas donde el teléfono no es NULL.
El uso de ambos en la misma consulta produce una verificación de integridad: población total, valores ingresados y diferencia.
La consulta explicada
Empieza por definir qué debe representar una fila del resultado. Esta decisión determina las columnas, agrupaciones y controles necesarios.
El siguiente ejemplo aísla el mecanismo principal. Ejecútelo, observe el resultado y luego cambie una cláusula a la vez para comprender su efecto.
SELECT
COUNT(*) AS clients_total,
COUNT(telephone) AS telephones_renseignes,
COUNT(*) - COUNT(telephone) AS telephones_absents
FROM clients;Lea el resultado como un analista.
Se deben conciliar las tres columnas: los ingresados más los ausentes es igual al total. Este control hace que la tarifa final sea explicable.
Después de join, COUNT(*) también puede contar líneas multiplicadas. Comprueba siempre el nivel de detalle antes de interpretar el volumen.
- Define la población antes de contar.
- Mida el NULL de la columna contada.
- Comprueba el efecto de joins.
- Compara el volumen detallado y agregado.
Errores que distorsionan el análisis
Una consulta puede ser válida sin responder correctamente a la pregunta. Los errores más costosos suelen ser silenciosos: perímetro incorrecto, línea multiplicada o valor faltante interpretado como cero.
Antes de compartir el resultado, compárelo con una pequeña muestra calculada manualmente y mantén la definición del alcance con la consulta.
- Presente COUNT(columna) como el número de registros devueltos.
- Olvídese del NULL.
- Cuenta después de un join de muchos a muchos.
- Utiliza DISTINCT para ocultar una multiplicación que falta.
Ponte en practica
Utiliza el ejercicio de integridad para calcular una tasa y proteger la división con NULLIF.
El simulador SQL de SQL.tn solo ejecuta consultas de lectura sobre datos ficticios en su navegador. Puede probar varias escrituras y comparar sus resultados sin instalar ningún software.
Pon esta guía en práctica.
Abre el ejercicio relacionado, ejecuta tu consulta y compara el resultado esperado.
