SQLZoo高级查询

时间:2014-05-02 22:30:36

标签: mysql sql

在SELECT Tutorial(http://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial)中的SQLZoo SELECT的一个问题中,您将获得一个名为“world”的表,其中包含世界上所有具有以下字段的国家/地区:name,continent,area ,人口和gdp。

以下是该网站显示此问题的世界表格中的示例记录:

name    continent   area    population  gdp
Afghanistan Asia    652230  25500100    20343000000
Albania Europe      28748   2831741     12960000000
Algeria Africa      2381741 37100000    188681000000
Andorra Europe      468     78115       3712000000
Angola  Africa      1246700 20609294    100990000000
...

如何为以下内容创建查询:

'查找属于所有人口少于25000000的大陆的每个国家。显示名称,大陆和人口。'

2 个答案:

答案 0 :(得分:0)

所以你申请,你可以使用这个

select name, continent,[population]
from country
where [population] < 25000000
group by name, continent,[population]

答案 1 :(得分:0)

您可以使用MAX

找到所有国家/地区人口较少的大洲
SELECT continent
FROM world
GROUP BY continent 
HAVING MAX(population)<25000000

您可以将该结果用作子查询以查找每个国家/地区

SELECT name,continent,population
FROM world
WHERE continent IN (
  SELECT continent
  FROM world
  GROUP BY continent
  HAVING MAX(population)<25000000
)