Sqlite 统计每个地区的农户数量
我在以下列中有人口普查数据: 姓名、姓氏、职业、户籍、区、县 以及一些样本数据:Sqlite 统计每个地区的农户数量,sqlite,Sqlite,我在以下列中有人口普查数据: 姓名、姓氏、职业、户籍、区、县 以及一些样本数据: Anne, Boyle, Student, 7090989, Green Acres, Coolidge John, Boyle, Farmer, 7090989, Green Acres, Coolidge Mary, Boyle, Farmer's wife, 7090989, Green Acres, Coolidge James, Egan, Carpenter, 1090933, Green A
Anne, Boyle, Student, 7090989, Green Acres, Coolidge
John, Boyle, Farmer, 7090989, Green Acres, Coolidge
Mary, Boyle, Farmer's wife, 7090989, Green Acres, Coolidge
James, Egan, Carpenter, 1090933, Green Acres, Coolidge
Margret, Egan, Teacher, 1090933, Green Acres, Coolidge
William, Dunne, Merchant, 2090921, Falls, Cleveland
Anne, Smyth, Widow, 1110166, Range, Cleveland
Daniel, McCann, Farm labourer, 1011112, Griffin, Cleveland
Timothy, McCann, Farm labourer, 1011112, Griffin, Cleveland
Patrick, Sullivan, Farmer, 2217733, Ards, Cleveland
Maggie, Sullivan, Farmer, 2217733, Ards, Cleveland
Michael, Petterson, Farmer labourer, 2227229, Ards, Cleveland
所以我想计算一下每个地区的农户数量。每个家庭都有一个唯一的id,单个农业家庭被定义为至少有一个居住者的家庭,其职业类似于“%Farm%”
。因此,家庭中农民的数量并不重要,只关心是否至少有一个农民。对于上述数据,我应该得到以下结果:
Green Acres, Coolidge, 1
Griffin, Cleveland, 1
Ards, Cleveland, 2
我是这样确定每个地区的农民数量的:
Select DISTRICT, COUNTY, COUNT(*) from census where OCCUPATION like "%Farm%" group by DISTRICT, COUNTY;
要获得每个地区的家庭数量,我需要:
select DISTRICT, COUNTY, COUNT(distinct(HOUSEHOLD_ID)) from census group by DISTRICT, COUNTY;
那么,我如何计算每个地区的农户数量呢
更新
A county is made up of uniquely named districts.
如何计算每个地区的农户数量
这意味着按
地区分组
:
select DISTRICT,
count(distinct HOUSEHOLD_ID) counter
from census
where OCCUPATION like 'Farm%'
group by DISTRICT;
如果还需要country
列:
select
COUNTY,
DISTRICT,
count(distinct HOUSEHOLD_ID) from census
where OCCUPATION like 'Farm%'
group by COUNTY, DISTRICT
请参见尝试此查询
SELECT a.DISTRICT,
a.COUNTY,
COUNT(*)
FROM (
SELECT DISTINCT(b.HOUSEHOLD_ID),
b.DISTRICT,
b.COUNTY FROM census b
WHERE b.OCCUPATION like '%FARM%'
) as a
GROUP BY
a.DISTRICT,
a.COUNTY
为什么不可以?:“从人口普查中选择县、区、计数(不同的家庭ID),其中职业如‘农场%’按县、区分组;“县由唯一命名的区组成,那么您可以这样做。”。