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