MySQL5.7group by语句报错:
Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 't.road_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
找了找原因是因为在mysql5.7之前的版本,
MySQL没有检测到功能依赖项,
only_full_group_by在默认情况下是不启用的。
在mysql5.7中only_full_group_by 默认是启用的。
所以MySQL会拒绝选择列表、条件或顺序列表引用的查询,
这些查询将引用组中未命名的非聚合列,而不是在功能上依赖于它们。
解决办法:
找到MySQL的配置文件
找到服务器上面 /etc/my.cnf文件,编辑
在文件中加入一句:
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
然后重启MySQL,我这边装的是lnmp,直接输入lnmp restart 重启,重启完成后,访问网站,已经恢复正常了