¿Mostrar unicidad o cálculo por grupo?
SELECT DISTINCT categorie expresa directamente una solicitud de lista única. GROUP BY categorie se vuelve natural al agregar COUNT, SUM o AVG.
Ninguno de los dos corrige un duplicado en la tabla fuente. Sólo dan forma al resultado de la lectura.
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 categorie, COUNT(*) AS produits
FROM produits
GROUP BY categorie
ORDER BY produits DESC, categorie;Lea el resultado como un analista.
Una línea ahora representa una categoría. El medidor explica su peso, algo que un simple DISTINCT no serviría.
Si se seleccionan varias columnas, DISTINCT se refiere a su combinación completa; por lo tanto, define con precisión la unicidad esperada.
- Escribe lo que representa una sola línea.
- Inspeccione las claves de origen.
- Utiliza GROUP BY para agregaciones.
- Añade clasificación estable.
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áralo con una pequeña muestra calculada manualmente y mantén la definición del alcance con la consulta.
- Utiliza DISTINCT para ocultar un join defectuoso.
- Crea que sólo actúa sobre la primera columna.
- Agrupa por una columna innecesaria y cambie el nivel de detalle.
- Confunda la deduplicación del resultado con la limpieza de la fuente.
Ponte en practica
Enumera las categorías únicas y luego convierta la consulta en un recuento de categorías para comparar las dos intenciones.
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.
