1

我有一个bbc包含以下列的表格:

  • name(指世界特定区域内的国家名称)
  • region(世界大陆)
  • population(名称字段中的国家人口)

我试图回答的问题:

查找属于所有人口少于 250000000 的地区的每个国家/地区。显示名称、地区和人口。

我在想答案可能是这样的:

SELECT name, region, population 
FROM bbc 
GROUP by region 
HAVING MAX(population) < 250000000 

我觉得我的答案偏离了方向......任何帮助将不胜感激!

4

3 回答 3

2

它抱怨我的 GROUP BY 中不存在名称和人口。所以我使用子查询来解决这个问题。

SELECT name, region, population FROM bbc
WHERE region IN

(SELECT region FROM bbc 
GROUP BY region 
HAVING MAX(population) < 25000000)
于 2012-11-03T20:44:38.810 回答
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
    )
于 2012-11-03T20:44:54.173 回答
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
  )
于 2012-11-03T20:59:42.980 回答