実現したいこと
平均人口密度を出したい。
前提
初学者です。
countryというテーブルで人口(population)と面積(surfaceArea)のカラムで平均人口と平均面積を抽出したいときはAVG()で簡単に出ると思うのですがその後に平均人口密度を出したいときはどうすればいいのでしょうか。
SELECT Population/SurfaceArea AS PopulationDensity FROM countryで人口密度だけは表示できるのですがそこから平均人口密度を出そうとすると書き方がわかりません。。
発生している問題・エラーメッセージ
#1140 - In aggregated query without GROUP BY, expression #3 of SELECT list contains nonaggregated column 'world.country.Population'; this is incompatible with sql_mode=only_full_group_by
該当のソースコード
SELECT AVG(SurfaceArea) AS AvarageArea, AVG(Population) AS AvaragePopulation, Population/SurfaceArea AS PopulationDensity FROM country;
試したこと
行き詰まってます。
補足情報(FW/ツールのバージョンなど)
サーバのバージョン: 5.7.39 - MySQL Community Server (GPL)

そもそも平均人口密度とは具体的にはどのような計算方法を想定してるか書くべきだ
平均人口と平均面積を抽出したいときはAVG()で簡単に出ると思うのですがその後に平均人口密度を出したい
という説明があるので
平均人口÷平均面積 のこととも読める
もしそうであれば平均人口と平均面積を使ってどのように計算するかの話で平均を求める話ではない
一方でPopulation/SurfaceAreaの例も挙げている
国毎の人口密度を計算してそれの平均値を取りたいという話なのか?
それによって回答内容が異なってくる
>国毎の人口密度を計算してそれの平均値を取りたいという話なのか?
こちらが正しいです。わかりにくくてすみません。

回答1件
あなたの回答
tips
プレビュー