sql_mode=only_full_group_by 不兼容。
时间: 2023-10-28 17:54:03 浏览: 80
定位Oracle中的TOP_SQL
这是因为在MySQL 5.7之后的版本中,sql_mode默认启用了only_full_group_by模式,该模式要求在使用GROUP BY语句时必须将所有非聚合的列都包含在GROUP BY语句中。如果查询中使用了GROUP BY语句但未将所有非聚合的列都包含在其中,则会报错。
解决方法是将sql_mode的值修改为其他模式,如:SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'。或者在查询中将所有非聚合的列都包含在GROUP BY语句中。
阅读全文