lunes, 11 de julio de 2016

Receta T-SQL No. 5-4: ¿Cómo Remover Duplicados de un Resumen de Detalles?

Índice

1. Introducción
2. Palabras Clave
3. Problema
4. Solución
5. Discusión de la Solución
5.1 Cláusula DISTINCT
6. Práctica: Remoción de Duplicados
7. Conclusiones
8. Literatura & Enlaces

1. Introducción

Esta receta T-SQL explica cómo usar la cláusula DISTINCT para remover los duplicados de una resumen de detalles. Como ejemplo práctico se muestra cómo obtener las tasas únicas por cada día del mes de enero de 2003.

2. Palabras Clave

  • DISTINCT
  • Duplicado

3. Problema

Remover duplicados de un resumen de detalles.

4. Solución

La cláusula DISTINCT remueve los duplicados de un conjunto de resultados.

5. Discusión de la Solución

5.1 Cláusula DISTINCT

T-SQL cuenta con la cláusula DISTINCT para remover duplicados de un conjunto de resultados. Esta cláusula sólo puede ser usada para sentencias SELECT.

La sintaxis para la cláusula DISTINCT es: 

SELECT DISTINCT expresion
    FROM tablas
    [ WHERE {predicado}]

Un ejemplo práctico puede consistir en devolver los nombres únicos que existen en tabla Person.Person de la base de datos AdventureWorks2012

SELECT DISTINCT FirstName AS 'Primer Nombre'
FROM Person.Person
ORDER BY FirstName;

6. Práctica: Remoción de Duplicados

Este ejemplo ilustra cómo determinar la cantidad de valores únicos para el historial de pagos de empleados para los primeros días del mes de enero de 2003.

La primera parte, línea 2, cuenta todos los valores Rate mientras que la línea 3 cuenta los valores Rate distintos en los registros recuperados para el rango de fecha establecido en la cláusula WHERE.


Valores obtenidos después de ejecutar esta sentencia en Microsoft SQL Management Studio
Tasas distintas
Figura 1. Tasas distintas.

7. Conclusiones

Quedó demostrado que la cláusula DISTINCT remueve los duplicados de un conjunto de registros.

La próxima receta T-SQL explica cómo retornar detalles con el operador CUBE.

8. Literatura & Enlaces

Brimhall, J., Dye, D., Gennick, J., Roberts, A., Sheffield, W. (2012). SQL Server 2012 T-SQL Recipes - A Problem-Solution Approach. United States: Apress.
SQL Server: DISTINCT Clause (2016, junio 11). Recuperado desde: http://www.techonthenet.com/sql_server/distinct.php


V

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.