выберите количество городов с населением более 410000 - PullRequest
0 голосов
/ 06 сентября 2018

Я новичок в sql. у меня есть в таблице данные, как

district    city    state   population
d1          c1       s1      2000
d2          c1       s1      10000
d3          c1       s1      400000
d1          c2       s2      500000

Я хочу иметь количество городов с населением более 410000

поэтому мой желаемый результат должен быть 2, так как есть два города c1 и c2. Я хочу сначала сделать группировку по городам, а затем вычислить сумму населения для каждого города, а затем проверить, превышает ли его население 410000 поэтому я использовал запрос

select count(city) from city_table group by city having sum(population) > 410000;

но вывод, который я получаю -

count(city)
3
1

скажите, пожалуйста, что не так в моем запросе

1 Ответ

0 голосов
/ 06 сентября 2018

Вы должны использовать два уровня агрегации:

select count(*)
from (select city, sum(population) as population
      from city_tabl
      group by city
      having sum(population) > 410000
     ) c;
...