私のSQLクエリは、 'order by'句を追加するまでうまく動作します。 「式でグループではありません」というエラーが表示されました 「select」句に正確な列のコピーを置くことになっていたと思いますが、その列の順序を編集する場合は「order by」句あなたのテーブルに...私の注文はセクション別に 'グループではありません'というエラーを返します
select
case when latitude between -18 and 18 then 'tropical'
when latitude between -36 and 36 then 'subtropical'
when latitude between -54 and 54 then 'average'
when latitude between -72 and 72 then 'subpolar'
else 'polar' end klimaat,
count(1)
from regios
WHERE latitude is not null and niveau=0
group by case when latitude between -18 and 18 then 'tropical'
when latitude between -36 and 36 then 'subtropical'
when latitude between -54 and 54 then 'average'
when latitude between -72 and 72 then 'subpolar'
else 'polar' end
order by case when latitude between -18 and 18 then 5
when latitude between -36 and 36 then 4
when latitude between -54 and 54 then 3
when latitude between -72 and 72 then 2
else 1 end
編集:明確にするためには、私は必ずしもこの問題ではなく、コードのこの特定の部分は、基本的に
なぜ単純にしていないのですか?abs(latitude)による注文asc?私には同じ結果が出るようです。 –
また、私はmysqlがグループのエイリアスを使うことができると思います:select ... group by klimaat order by klimaat –
私は必ずしもこの問題の解決策を探しているわけではありませんが、 –