我有一个表格,其中包含:ID,FEATURE_NAME(可能是该城市的名称),STATE_ALPHA(两个字母的国家/地区标识符,如Alabama的“AL”)和POPULATION_DATA。
我需要:
示例:
- ID !FEATURE NAME ! STATE_ALPHA ! POPULATION DATA
- 1 Woodland WA 83
- 2 Woodland WA 5426
- 3 Vining KS 354
- 4 Vining KS 276
- 5 Vining KS 1450
我需要得到的是:
- ID !FEATURE NAME ! STATE_ALPHA ! POPULATION DATA
- 1 Woodland WA 5509
- 2 Woodland WA 5509
- 3 Vining KS 2080
- 4 Vining KS 2080
- 5 Vining KS 2080
我用谷歌搜索了几个小时,甚至不知道从哪里开始。此外,我将在不在原始表上的视图上运行该脚本,我不知道它是否会改变任何内容。请帮忙。
答案 0 :(得分:1)
您可以使用聚合和联接来执行此操作:
select t.id, t.feature_name, t.state_alpha, sumpop as Population_Data
from t join
(select feature_name, state_alpha, sum(population_data) as sumpop
from t
group by feature_name, state_alpha
) fs
on t.feature_name = fs.feature_name and
t.state_alpha = fs.state_alpha;
聚合对总体进行求和(在子查询fs
中)。此结果将重新连接到原始数据。
答案 1 :(得分:0)
如果我理解您的问题,那么简单的查询应该适用于表名为tablename
SELECT ID, FEATURE_NAME, STATE_ALPHA, POPULATION_DATA FROM tablename
FROM tablename
GROUP BY FEATURE_NAME, STATE_ALPHA