何回かに分けてクエリを実行すれば求められるが、一回でやるとちょっとかっこいいクエリの作成です。
お題は・・・
【アジア圏でエリア毎に人口が10000を超えている国の数を求める】
です。
まずはアジア圏の種類を確認します。
Select Distinct parea From T_world Where parea Like '%Asia'
これで以下の5種類が存在する事が確認できます。
Central Asia |
Central and Southern Asia |
Eastern Asia |
South-Eastern Asia |
Southern Asia |
次に、Central Asiaに絞って、tの値が10000を超えているか否かを、国ごとに判定します。
Select parea,(case when t>10000 then 1 else 0 end) as ck From T_world Where parea='Central Asia'
※各国の情報は表示していません。それぞれの国名は不明ですが今回は超えている国の数を求めるだけの内容です。
10000を超える数という観点で考えると以下の通りに書換えればおしまいです。
Select parea,sum((case when t>10000 then 1 else 0 end)) as cknum From T_world Where parea='Central Asia' Group By parea
通常数を数えるのはcountの仕事ですが、ここでは前段で1or0に変更しているため、sumで数を数えることが可能になっています。
後は単純にこれらを残り全ての国で求めればよいだけです。