问题
mysql使用count()执行select报错:ERROR 1140 (42000) In aggregated query without GROUP BY
原因
mysql的sql_mode默认开启了only_full_group_by模式
解决方法
- 命令解决(临时生效)
查看sql_modeshow variables like '%sql_mode'; show session variables like '%sql_mode%'; show global variables like '%sql_mode%';
修改sql_mode
set global sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'; set session sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';
- 配置文件解决(永久修改)
vim /etc/my.cnf修改最后面一行sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
来源:oschina
链接:https://my.oschina.net/u/4344310/blog/4423744