Fundamentos

DISTINCT o GROUP BY: ¿cómo eliminar repeticiones?

Ambos pueden devolver una fila por valor, pero su intención no es la misma.

Equipo de SQL.tn7 min
Un flujo de datos separa la deduplicación simple de la agregación basada en computación

¿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.

Los nombres, cantidades y datos utilizados en este artículo son ficticios y creados con fines de aprendizaje.

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.

Contar productos por categoría
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 aplica 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árelo 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.
  • Agrupe por una columna innecesaria y cambie el nivel de detalle.
  • Confundir la deduplicación del resultado y la limpieza de la fuente.

Ponte en practica

Enumere 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.

Pon esta guía en práctica.

Abre el ejercicio relacionado, ejecuta tu consulta y compara el resultado esperado.

Empezar el ejercicio