我有一个表bbc
,其中包含以下列:
name
(指世界特定地区内某个国家/地区的名称)region
(世界大陆)population
(名称字段中的国家/地区人口)我想回答的问题:
查找属于所有人口少于250000000的地区的每个国家/地区。显示姓名,地区和人口。
我在想答案可能是这样的:
SELECT name, region, population
FROM bbc
GROUP by region
HAVING MAX(population) < 250000000
我觉得我离这个答案有点偏离...任何帮助都将不胜感激!
答案 0 :(得分:2)
抱怨我的GROUP BY中不存在姓名和人口。所以我使用子查询作为解决这个问题的方法。
SELECT name, region, population FROM bbc
WHERE region IN
(SELECT region FROM bbc
GROUP BY region
HAVING MAX(population) < 25000000)
答案 1 :(得分:1)
select b.name, b.region, b.population
from bbc as b
where
b.region in
(
select t.region
from bbc as t
group by t.region
having max(t.population) < 25000000
)
答案 2 :(得分:0)
Select
b.name,
b.region,
b.population
From
bbc b
Where
Not Exists (
Select
'x'
From
bbc b2
Where
b.region = b2.region And
b.population > 250000000
)