Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/02/2016, 14:45
spuddurden
 
Fecha de Ingreso: febrero-2016
Mensajes: 1
Antigüedad: 8 años, 2 meses
Puntos: 0
Pregunta duda con sentencia WITH ROLLUP

Hola estoy estudiando SQL Server y estoy haciendo mis consultas sobre la base de datos AdventureWorks2012 y tengo una duda con la siguiente consulta

Código SQL:
Ver original
  1. SELECT Production.ProductCategory.ProductCategoryID
  2. , Production.Product.ProductSubcategoryId
  3. , AVG(ListPrice) AS 'Averange'
  4. , MIN(ListPrice) AS 'Minimun'
  5. , MAX(ListPrice) AS 'Maximum'
  6. FROM Production.Product
  7. JOIN Production.ProductSubCategory
  8. ON production.ProductSubcategory.ProductSubcategoryID =
  9. Production.Product.ProductSubcategoryId
  10. JOIN Production.ProductCategory
  11. ON Production.ProductSubcategory.ProductCategoryID =
  12.     Production.ProductCategory.ProductCategoryID
  13. WHERE ListPrice <> 0
  14. GROUP BY Production.ProductCategory.ProductCategoryID,Product.ProductSubcategoryID
  15. WITH ROLLUP


la anterior consulta me arroja la media, el mínimo y el máximo para cada una de las subcategorias contenidas en cada categoría y ademas de un registro extra cada ProductCategoryId mostrando su media, mínimo y máximo, pero mi duda viene cuando me muestra el ultimo registro el cual es el siguiente
ProductCategoryID ProductSubcategoryId Media Minimo Maximo
NULL NULL 744.5952 2.29 3578.27

por que si realizo la siguiente consulta el resultado no es el mismo para la media

Código SQL:
Ver original
  1. SELECT AVG(ListPrice) AS 'Averange'
  2. FROM Production.Product
  3. WHERE ListPrice <> 0

Resultado de la anterior consulta: 727.2624

los resultados de minimo y maximo son correctos pero no logro entender por que me arroja ese valor de 744.5952 cuando aplico el WITH ROLLUP

me podrían explicar por favor por que me sale una cantidad diferente.

Gracias y saludos.