Distinct en SQL Server

Una manera de obtener resultados sin repetir información en SQL server es utilizando la instrucción distinct en tus consultas.

Distinct filtra el contenido de una o varias columnas sin repetir los datos, teniendo en cuenta algunas condiciones.

Distinct SQL en una columna

Aplicar distinct en una consulta que devuelve una sola columna de datos, utilizando una consulta como la siguiente.

SELECT DISTINCT Country FROM Customers;

La instrucción distinct solo se coloca una vez, después del select y antes de las columnas.

El resultado de esta consulta devuelve los datos sin repetir.

Distinct en SQL de una columna

En el resultado de la izquierda se obtienen 91 registros sin utilizar distinct; a la derecha obtenemos solo 21 registros con distinct.

Podría interesarte Subqueries o subconsultas en SQL Server  

Distinct en varias columnas

Podemos aplicar distinct en una consulta con varias columnas, sin embargo, es necesario considerar algunos puntos.

El resultado de las columnas depende de la columna anterior, por ejemplo, si hay un estado con el mismo nombre en dos países, se muestran ambos.

Este principio se utiliza en las n columnas de la consulta; agregamos una columna mas a la consulta anterior.

SELECT DISTINCT Country, City FROM Customers;

Para esta consulta podemos observar un resultado como la siguiente.

Distinct en SQL Server

A la izquierda podemos ver que obtenemos 91 registros sin distinct, a la derecha vemos 69 registros al utilizar distinct.

Además, podemos observar que el país se repite siempre que en la segunda columna (ciudad) el dato es diferente.

Podría interesarte Procedimientos almacenados en SQL Server  

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *