注目キーワード
  1. 技術
  2. 広告
  3. IDFA
  4. PHP
  5. WordPress

【MySQL8】GROUP BYを使用した際のORDER BY省略は使えなくなりました。

  • 2021年3月1日
  • 2021年3月10日
  • 技術
  • 0件

MySQL8では、ORDER BY の省略はエラーになります

SELECT date, sum(score) FROM score GROUP BY date DESC;

上記のようなクエリを実行した際に、MySQL5.x系では動いていましたが、
MySQL8.x系では、エラーが出るようになりました。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC' at line 

似たような記事もありました。
https://stackoverflow.com/questions/53846308/group-by-desc-syntax-error-on-mysql-8-0-which-is-fine-on-5-7

MySQL5.x系では、

GROUP BY date DESC;

このような書き方をすると、

GROUP BY date ORDER BY DESC;

と書いたのと同じ挙動でクエリが実行されていましたが、8系ではエラーでこけます。

解消方法

省略せずに書けば、問題なく動かすことができます。

SELECT date, sum(score) FROM score GROUP BY date ORDER BY DESC;