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 に答える