mysql 5.7.x 版本 遇见only_full_group_by 问题解决汇总
1 出错原因:
MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们
具体报错如下
select
book
.category
AScategory
,book
.categoryText
AS
categoryText
,count(0) ASnum
frombook
group by
book
.categoryText
1055 - Expression #1 of SELECT list is not in
GROUP BY clause and contains nonaggregated column ‘book.book.category’
which is not functionally dependent on columns in GROUP BY clause;
this is incompatible with sql_mode=only_full_group_by
可以看出是因为sql_mode中设置了only_full_group_by模式引起的,
在only_full_group_by这种模式下ÿ