¿La condición está en una línea o en un grupo?
Un estado o fecha pertenece a una línea de origen: utiliza WHERE. Existe un total, promedio o número de pedidos después de agrupar: use HAVING.
El orden modifica el significado. Excluir filas canceladas antes de SUM no equivale a calcular todos los estados y luego ocultar ciertos grupos.
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 id_client, COUNT(*) AS commandes_payees
FROM commandes
WHERE statut = 'Pagado'
GROUP BY id_client
HAVING COUNT(*) >= 2;Lea el resultado como un analista.
WHERE solo prepara pedidos pagados. GROUP BY crea una fila por cliente y luego HAVING mantiene volúmenes de al menos dos.
Separe mentalmente estos pasos y controla la cantidad de registros devueltos en cada uno cuando la consulta se vuelva compleja.
- Formula el perímetro de las líneas.
- Establezca el nivel de detalle para los grupos.
- Aplicar umbral en la agregación.
- Compara el total general con la suma de los grupos.
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.
- Escribe WHERE COUNT (*).
- Filtrar monto >= umbral en lugar de SUM(monto) >= umbral.
- Olvídese de GROUP BY.
- Comparar grupos construidos con diferentes perímetros.
Ponte en practica
Ejercite HAVING en la canasta promedio, luego cambie el umbral para observar los grupos retenidos.
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.
