MySQL/5.7 で GROUP BY に関して制約が増えた

MySQL/5.7 で GROUP BY に関して制約が増えた

MySQL 5.7 では ONLY_FULL_GROUP_BY というスイッチがデフォルトで ON になっていて、 GROUP BY の挙動が若干厳しく(標準SQLに近く)なっている。

何かというと、MySQL の SQL の特徴でもあった、

  • GROUP BY した「値群」が集計関数無しで「1個の値」として取り出せる
  • GROUP BY してないカラムが SELECT 句で使える

この2つの特殊挙動が使えなくなっている。

これは、別に人間の直感としてズレてないし、SQL の記述量を大幅に減らせるので重宝していたのだが、 こういう罠があるのね

db/mysql/tips/mysql_57_strict_group_by.txt · 最終更新: 2019-06-04 11:05 by ore