如何在SQL中查找平均值,同时使用平均值查找初始数据值和平均值之间的差

DMC*_*DMC 1 sql sql-server ssms

我正在编写查询以获取特定的输出。

我试过使用avg命令。我无法弄清楚如何使用输出来找到总值和平均值之间的差异。

select ProductID,ProductDescription,StandardPrice
from PRODUCT_TBL

select AVG(StandardPrice) as AveragePrice
from PRODUCT_TBL
Run Code Online (Sandbox Code Playgroud)

我期望输出是所有值的平均值。只是找到初始值和平均值之间的差异。

Tim*_*sen 5

如果要查找给定行的标准价格与表的平均值之间的差额,可以尝试将其AVG用作分析函数:

SELECT
    ProductID,
    ProductDescription,
    StandardPrice,
    AVG(StandardPrice) OVER () AS AvgStandardPrice,
    StandardPrice - AVG(StandardPrice) OVER () AS Difference
FROM PRODUCT_TBL;
Run Code Online (Sandbox Code Playgroud)