我试图在表中找到包含每条记录中的计数的平均值。
我需要找到平均值,好像记录中列出的每个计数都有个别记录。
例如:
+-------+------------------+-------------------+
| Color | Value_to_Average | Number_of_Records |
+-------+------------------+-------------------+
| Red | 3 | 2 |
| Red | 2 | 3 |
| Green | 5 | 2 |
| Blue | 1 | 2 |
+-------+------------------+-------------------+
当我单独平均值时,结果为2.66667。如何从具有计数的记录中获得相同的结果?
答案 0 :(得分:3)
您想要加权平均值:
select sum(Value_to_Average * Number_of_Records) / sum(Number_of_Records)
from Color_Avg t;
答案 1 :(得分:0)
我认为你正在寻找这样的东西:
select (sum(value_to_average)*sum(number_of_records))/cast(sum(number_of_records) as double)
from table