Подсчитать количество фермерских хозяйств на район - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть данные переписи в следующих столбцах:

FIRST_NAME, SURNAME, OCCUPATION, HOUSEHOLD_ID, DISTRICT, COUNTY

И некоторые примеры данных:

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

ИтакЯ хочу посчитать количество фермерских хозяйств на район.Каждое домохозяйство имеет уникальный идентификатор, а одно фермерское домохозяйство определяется как домохозяйство, в котором есть как минимум один житель с родом занятий LIKE "%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;   

Чтобы получить количество домохозяйств на район Iсделать:

select DISTRICT, COUNTY, COUNT(distinct(HOUSEHOLD_ID)) from census group by DISTRICT, COUNTY;

Итак, как мне подсчитать количество фермерских домохозяйств на район.

ОБНОВЛЕНИЕ

A county is made up of uniquely named districts.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Попробуйте этот запрос

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
0 голосов
/ 03 февраля 2019

Как подсчитать количество фермерских домохозяйств на район

Это означает группирование по DISTRICT:

select DISTRICT,
count(distinct HOUSEHOLD_ID) counter
from census 
where OCCUPATION like 'Farm%'
group by DISTRICT;

Если вам также нужен столбец COUNTY:

select 
  COUNTY, 
  DISTRICT,
  count(distinct HOUSEHOLD_ID) from census 
where OCCUPATION like 'Farm%' 
group by COUNTY, DISTRICT 

См. Демоверсию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...