我要解决的问题如下
为每个大洲显示该大洲以及人口至少为1000万的国家/地区
世界表如下:
World (name, continent, area, population, gdp)
我的查询(未返回正确的结果):
SELECT continent, COUNT(name)
FROM world
GROUP BY continent
HAVING sum(population) >= 10000000
查询返回正确的结果:
SELECT continent, COUNT(name)
FROM world
WHERE population >= 10000000
GROUP BY continent
有人可以告诉我为什么我的查询错误吗?
答案 0 :(得分:4)
问题是关于国家,而不是大洲,因此您需要在汇总之前进行过滤。
您查询的版本正在回答:
大陆上有多少个国家的人口超过1000万?
问题是:
每个大陆有多少国家的人口超过1000万?
这些是不同的问题。我还意识到,对于那些不流利的英语使用者,初读时可能看不出明显的区别。