Sentencia SQL SELECT DISTINCT
La instrucción SQL SELECT DISTINCT
La SELECT DISTINCT
declaración se usa para devolver solo valores distintos (diferentes).
Dentro de una tabla, una columna suele contener muchos valores duplicados; y, a veces, solo desea enumerar los diferentes valores (distintos).
SELECT DISTINCT Sintaxis
SELECT DISTINCT column1, column2, ...
FROM table_name;
Base de datos de demostración
A continuación se muestra una selección de la tabla "Clientes" en la base de datos de ejemplo de Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Ejemplo SELECT sin DISTINCT
La siguiente instrucción SQL selecciona todos los valores (incluidos los duplicados) de la columna "País" en la tabla "Clientes":
Ejemplo
SELECT Country FROM Customers;
Ahora, usemos la SELECT DISTINCT
declaración y veamos el resultado.
SELECCIONE DISTINTOS Ejemplos
La siguiente instrucción SQL selecciona solo los valores DISTINCT de la columna "País" en la tabla "Clientes":
Ejemplo
SELECT DISTINCT Country FROM Customers;
La siguiente instrucción SQL enumera la cantidad de países de clientes diferentes (distintos):
Ejemplo
SELECT COUNT(DISTINCT Country) FROM Customers;
Nota: ¡El ejemplo anterior no funcionará en Firefox! Porque COUNT(DISTINCT column_name ) no es compatible con las bases de datos de Microsoft Access. Firefox está usando Microsoft Access en nuestros ejemplos.
Aquí está la solución para MS Access:
Ejemplo
SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers);