SUM(ATR * QTDE)/ SUM(QTDE)是否与SUM(ATR)相同?

时间:2019-04-15 13:06:37

标签: sql

背景:

我的老板给我发送了以下一列的查询

ROUND(SUM(ATR * QTDE) / SUM(QTDE), 2) 

但是后来我想与

不同吗?
ROUND(SUM(ATR), 2) 

??

如果只是ATR * QTDE / QTDE,我可以肯定它是相同的,但是对于SUM,我不确定,看起来是一样的,但是我不能只使用我认为是的相同,但不确定。我也不想问我的老板,所以...我在这里!

问题:

SUM(ATR * QTDE) / SUM(QTDE)SUM(ATR)相同吗?

想要的结果:

解释并证明其相同或不同的原因。

2 个答案:

答案 0 :(得分:3)

不一样!

如果您尝试使用示例数据,您可以看到它...

ATR QTDE
5   1
5   2

SUM(ATR) = 5 + 5 = 10


SUM(ATR * QTDE) / SUM(QTDE) = (5*1 + 5*2) / (1 + 2) = 15 / 3 = 5

答案 1 :(得分:1)

不,它们不一样。一个是加权平均值,另一个是总和。设计柜台很容易  例子。

ATR   QTDE
 1    100
 2    200

SUM(ATR)=3。该比率返回500/3 <> 3。

您可能会认为这些是等效的:

ROUND(SUM(ATR * QTDE) / SUM(QTDE), 2) 

ROUND(AVG(ATR), 2) 

只有在SUM(QTDE) = COUNT(ATR)时才是正确的-如果以这种方式设置数据或QTDE = 1,通常会发生这种情况。