如何在 SQL 中找到平均值,同时使用平均值找到初始数据值与平均值之间的差异
How to find an average in SQL, while using the average to find the difference between the initial data values and the average
我正在编写查询以获得特定输出。
我试过使用 avg
命令。我无法弄清楚如何使用输出来找出总值与平均值之间的差异。
select ProductID,ProductDescription,StandardPrice
from PRODUCT_TBL
select AVG(StandardPrice) as AveragePrice
from PRODUCT_TBL
我希望输出是我得到的所有值的平均值。只是找出初始值和平均值之间的差异。
如果您想找出给定行的标准价格与 table 的平均值之间的差异,您可以尝试使用 AVG
作为分析函数:
SELECT
ProductID,
ProductDescription,
StandardPrice,
AVG(StandardPrice) OVER () AS AvgStandardPrice,
StandardPrice - AVG(StandardPrice) OVER () AS Difference
FROM PRODUCT_TBL;
您可以选择使用子查询来获取平均值
SELECT
ProductID,
ProductDescription,
StandardPrice,
StandardPrice - (SELECT AVG(StandardPrice) FROM PRODUCT_TBL) AS Difference
FROM PRODUCT_TBL;
我们可以通过以下两种不同的方式获得所需的结果集。
使用内部查询
SELECT ID, NAME, PRICE,
(SELECT AVG(PRICE) FROM #A ) AS AVGSTANDARDPRICE,
(PRICE - ( SELECT AVG(PRICE) FROM #A )) AS DIFFRENCE
FROM #A
2.Using 预定义的计算平均价格。
DECLARE @AVGPRICE MONEY
SET @AVGPRICE = ( SELECT AVG(ISNULL(PRICE,0)) FROM #A )
SELECT ID,
NAME,
PRICE,
@AVGPRICE AS AVGSTANDARDPRICE,
(PRICE - @AVGPRICE ) AS DIFFRENCE
FROM #A
我正在编写查询以获得特定输出。
我试过使用 avg
命令。我无法弄清楚如何使用输出来找出总值与平均值之间的差异。
select ProductID,ProductDescription,StandardPrice
from PRODUCT_TBL
select AVG(StandardPrice) as AveragePrice
from PRODUCT_TBL
我希望输出是我得到的所有值的平均值。只是找出初始值和平均值之间的差异。
如果您想找出给定行的标准价格与 table 的平均值之间的差异,您可以尝试使用 AVG
作为分析函数:
SELECT
ProductID,
ProductDescription,
StandardPrice,
AVG(StandardPrice) OVER () AS AvgStandardPrice,
StandardPrice - AVG(StandardPrice) OVER () AS Difference
FROM PRODUCT_TBL;
您可以选择使用子查询来获取平均值
SELECT
ProductID,
ProductDescription,
StandardPrice,
StandardPrice - (SELECT AVG(StandardPrice) FROM PRODUCT_TBL) AS Difference
FROM PRODUCT_TBL;
我们可以通过以下两种不同的方式获得所需的结果集。
使用内部查询
SELECT ID, NAME, PRICE, (SELECT AVG(PRICE) FROM #A ) AS AVGSTANDARDPRICE, (PRICE - ( SELECT AVG(PRICE) FROM #A )) AS DIFFRENCE FROM #A
2.Using 预定义的计算平均价格。
DECLARE @AVGPRICE MONEY
SET @AVGPRICE = ( SELECT AVG(ISNULL(PRICE,0)) FROM #A )
SELECT ID,
NAME,
PRICE,
@AVGPRICE AS AVGSTANDARDPRICE,
(PRICE - @AVGPRICE ) AS DIFFRENCE
FROM #A