sábado, 9 de julio de 2016

Receta T-SQL No. 5-2: ¿Cómo Crear un Grupo de Resumen?

Índice

1. Introducción
2. Palabras Clave
3. Problema
4. Solución
5. Discusión de la Solución
5.1 Operador GROUP BY
6. Práctica: Creación Grupos de Resumen
7. Conclusiones
8. Literatura & Enlaces

1. Introducción

El propósito de esta nueva receta T-SQL es enseñar al programador a resumir una columna con respecto a cada cambio en otra columna. La sección práctica demuestra este tipo de operación con el reporte de la cantidad total de órdenes de venta por cada día de un mes en específico.

2. Palabras Clave

  • Resumen
  • T-SQL

3. Problema

Reportar el total de ventas diarias para un mes dado.

4. Solución

T-SQL cuenta con los operadores GROUP BY para crear grupos de resumen.

5. Discusión de la Solución

5.1 Operador GROUP BY

El operador GROUP BY agrupa un conjunto de registros/filas. Esta agrupación se lleva a cabo con la especificación de una o más columnas o expresiones. Por cada una de los grupos se retorna una fila. Esta operación se relaciona con funciones de agregación; i.e., SUM(), AVG(), etc.

6. Práctica: Creación Grupos de Resumen

El código SQL que viene a continuación totaliza las ventas diarias para el mes de julio de 2015.

SELECT OrderDate AS 'Fecha Orden',
SUM(TotalDue) AS 'Total por día'
FROM Sales.SalesOrderHeader
WHERE OrderDate >= '2005-07-01T00:00:00'
AND OrderDate < '2005-08-01T00:00:00'
GROUP BY OrderDate;

El operador GROUP BY agrupa las órdenes de compra por día para el mes de julio de 2015. La cláusula WHERE especifica el rango de la fecha. Por cada día del mes de julio se totaliza las ventas a través del operador de agregación SUM().

Este el resultado obtenido en Microsoft SQL Management Studio
Ventas por día
Figura 1. Ventas por día.

7. Conclusiones

El operador GROUP BY facilita la agrupación de registros para aplicar operaciones de agregación -suma promedio, por ejemplo-.

En la tercera receta T-SQL de la serie Agrupación y Resumen el programador comprenderá cómo restringir un resultado a grupos de interés a través del operador HAVING.

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.
GROUP BY (Transact-SQL) (2016, julio 9). Recuperado desde: https://msdn.microsoft.com/en-us/library/ms177673.aspx


V

No hay comentarios:

Publicar un comentario

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