首页 > 解决方案 > 加权平均数和按组的总分

问题描述

我有以下人口数据:

在此处输入图像描述

我正在尝试为我的数据集中Total score的每个获取以下内容combination of timeperiod-district-region

在此处输入图像描述

我已经在 Excel 中完成了计算,但在 Microsoft SQL Server 中很难实现它:

在此处输入图像描述

我已经尝试实现从连接到窗口计算的所有内容,但努力超越第一步。

这是我迄今为止尝试过的:

    select w1.TimePeriod, w1.Region, w1.District, w1.Population/sum(w2.Population)
    from table w1 INNER JOIN table w2
        on w1.TimePeriod=w2.TimePeriod AND w1.Region=w2.Region AND w1.District=w2.District 
    group by w1.TimePeriod, w1.Region, w1.District

EEOR:

列 'table.Population' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。

任何让我开始的帮助将不胜感激!

标签: sqlsql-server

解决方案


你似乎想要:

select timeperiod, district, region,
       sum(population * score) / sum(population)
from t
group by timeperiod, district, region;

您无需在 SQL 中计算此计算的总人口数。


推荐阅读