GROUP BYをしたときのSELECT
お題「各大陸のもっとも面積が大きな国の国名と大陸名、面積を表示する。」
|
|
|
|
なぜname
をSELECTできないのか?
GROUP BY
でくくることで、大陸名が同じデータを並べたテーブルが作られる。
一つの大陸名に対し一つのレコードしか表示できないため、name
を指定されても困る。
MAX(area)
のように、グループの中で一つのレコードに絞り込んだカラムは大丈夫。
SELECT name, MAX(area)
はMAX(area)のと対応したnameを返すわけではない。