这是问题所在:有些国家的人口是其邻国(在同一大陆上)的三倍以上。提供国家和大洲。
这是我尝试执行的操作,这是不正确的,sql可能无法将这两个总体划分为属于不同的国家,但是我不知道如何进行。
我的第一次尝试:
List2
这是我的第二次尝试:
SELECT name, continent
FROM world
GROUP BY continent
WHERE (population/3) >= population;
答案 0 :(得分:1)
一种方法是使用ALL运算符:
select t.name, t.continent
from world t
where (t.population / 3) > ALL (
select population from world
where continent = t.continent and name <> t.name
)
子查询包含与要比较的行所在国家/地区(该国家/地区除外)在同一大陆中的所有国家/地区的所有人口。
因此,如果该国家/地区的population / 3
大于所有这些人口,则会选择该国家/地区。
或类似地:
select t.name, t.continent
from world t
where (t.population / 3) > (
select max(population) from world
where continent = t.continent and name <> t.name
)