Problema:
Le gustaría mostrar registros no duplicados en SQL.
Ejemplo:
Nuestra base de datos tiene una tabla llamada City
con datos en las columnas id
, name
y country
.
id | nombre | país |
---|---|---|
1 | Madrid | España |
2 | Barcelona | España |
3 | Varsovia | Polonia |
4 | Cracovia | Polonia |
Obtengamos los nombres de los países sin duplicados.
Solución:
Usaremos la palabra clave DISTINCT
. Aquí está la consulta:
SELECT DISTINCT country FROM City;
Este es el resultado de la consulta:
país |
---|
España |
Polonia |
Discusión:
Si desea que la consulta arroje solo filas únicas, use la palabra clave DISTINCT
después de SELECT
. DISTINCT
se puede utilizar para obtener filas únicas de una o más columnas. Debe enumerar las columnas después de DISTINCT
palabra clave.
¿Cómo funciona bajo el capó? Cuando se ejecuta la consulta, primero se selecciona todo el conjunto de datos, luego DISTINCT
elimina las filas que están duplicadas dadas las columnas seleccionadas.
En nuestro ejemplo, tanto España como Polonia aparecen dos veces en la tabla. Sin embargo, después de aplicar la palabra clave DISTINCT
, cada uno de ellos se devuelve solo una vez.