今天用到GROUP BY 语句查询时com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains错误。
经执行select @@sql_mode查发现mysql得mode中包含only_full_group_by,它的意思是select出来的字段必须包含在group by的字段中,否则任务这个sql不合法。
修改方案:
my.cnf中
[mysqld]
sql_mode=
中将only_full_group_by去掉。
ps:由于mac装完mysql后是不生成my.cnf文件的,所以cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf后并修改sql_mode后mysql无法启动。
最终在网上找到一种方法:
[mysqld]
character-set-server = utf8
然后启动成功。