sql - 加权平均数和按组的总分
问题描述
我有以下人口数据:
我正在尝试为我的数据集中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 子句中。
任何让我开始的帮助将不胜感激!
解决方案
你似乎想要:
select timeperiod, district, region,
sum(population * score) / sum(population)
from t
group by timeperiod, district, region;
您无需在 SQL 中计算此计算的总人口数。
推荐阅读
- ios - iOS Release Build 无法在 React Native WebView 中加载本地 HTML/JS/CSS 文件
- serialization - C# 类型序列化不作为键值对的集合
- linux - udev 规则不会触发 GUI 应用程序
- javascript - JavaScript - 未捕获的错误:语法错误,无法识别的表达式:[href=#contact] (WordPress)
- xml - 约束具有一些预定义属性的 xs:any 元素
- php - php socket客户端没有接收到连续数据
- python - 如何在 Python 中验证数组是否为负 # 和 alpha 输入
- dart - ListView.builder 不显示任何内容 - Flutter
- r - 使用索引的倍数来保留或替换向量中的值
- razor - 有没有办法将第二个布局与特定控制器的父布局一起使用?