lunes, 11 de julio de 2016

Receta T-SQL No. 5-3: ¿Cómo Filtrar 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 HAVING
6. Práctica: 
Conclusiones
Literatura & Enlaces

1. Introducción

En la receta T-SQL anterior se demostró cómo crear un grupo de resumen a través del uso del operador GROUP BY. El ejemplo de ilustración consistió en obtener el total de ventas diarias durante el mes de julio de 2005. Ese mismo ejemplo será ampliado para retornar sólo los días del mes que superen cierta cantidad de ventas específica.

2. Palabras Clave

  • Filtro
  • GROUP BY
  • Grupo

3. Problema

Reportar el total de ventas diarias para un mes dado y que superen un valor de 15.000.

4. Solución

Además de usar el operador de agrupamiento GROUP BY para las fechas del mes de julio de 2015, filtrar los resultados con el operador HAVING.

5. Discusión de la Solución

5.1 Operador HAVING

Con HAVING se especifica una condición sobre un grupo o agregación. Este operador se aplica para la cláusula de proyección SELECT y normalmente aparece acompañado del operador de resumen HAVING.

Esta es su sintaxis de uso: 

SELECT proyección
FROM tablas
[ WHERE {predicados}]
[ GROUP BY {expresión}]
[ HAVING {condición}]

6. Práctica: Filtrado de Ventas Diarias

Este ejemplo ilustra cómo obtener las ventas diarias que superen cierto predicado. La condición consiste en que el valor de ventas debe ser mayor o igual a 15.000 unidades monetarias.

Hasta la línea 6 se especifica la recuperación de las ventas diarias para el mes de julio de 2005; esto se explicó con detalle en Receta T-SQL No. 5-2: ¿Cómo Crear un Grupo de Resumen?.


Ahora en la línea 7 se especifica el filtro para retornar los días de julio que tuvieron ventas superiores a 15000; esto a través del uso del operador HAVING.


Una vez ejecutada esta sentencia se obtienen estos registros en la ventana de resultados de Microsoft SQL Server Management Studio
Días de julio de 2015 con ventas mayores a 15000
Figura 1. Días de julio de 2015 con ventas mayores a 15000.

7. Conclusiones

Se demostró que el operador HAVING permite especificar un filtro para un resumen; en este caso para encontrar todas las ventas diarias que superan una determinada cantidad.

Otra operación interesante es la de remover duplicados de una lista que contiene detalles de resultados. Este será el tópico de la siguiente receta C#.

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.
Receta T-SQL No. 5-2: ¿Cómo Crear un Grupo de Resumen? (2016, julio 10). Recuperado desde: https://ortizol.blogspot.com.co/2016/07/receta-t-sql-no-5-2-como-crear-un-grupo-de-resumen.html


V

No hay comentarios:

Publicar un comentario

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