报错:Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column

Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column
原因:

  1. MySQL版本5.7之后会检测函数依赖,默认启用的模式是ONLY_FULL_GROUP_BY,使用GROUP BY 语句违背了sql_mode=only_full_group_by。该模式的意思是只有确定唯一字段的group by才能执行
  2. select 查询的字段没有在group by字句里面(SQL不规范)

临时解决:数据库执行

set@@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

修改my.cnf配置文件里面的sql_mode参数值,并重启mysqld服务

你可能感兴趣的:(work_learn,mysql)