Código SQL:
Ver original
SELECT Production.ProductCategory.ProductCategoryID , Production.Product.ProductSubcategoryId , AVG(ListPrice) AS 'Averange' , MIN(ListPrice) AS 'Minimun' , MAX(ListPrice) AS 'Maximum' FROM Production.Product JOIN Production.ProductSubCategory ON production.ProductSubcategory.ProductSubcategoryID = Production.Product.ProductSubcategoryId JOIN Production.ProductCategory ON Production.ProductSubcategory.ProductCategoryID = Production.ProductCategory.ProductCategoryID WHERE ListPrice <> 0 GROUP BY Production.ProductCategory.ProductCategoryID,Product.ProductSubcategoryID 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
SELECT AVG(ListPrice) AS 'Averange' FROM Production.Product 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.