MySql5.7 Distinct与Order By同时使用报错的解决方案

 mysql5.7版本中,如果DISTINCTorder by一起使用将会报3065错误,sql语句无法执行。这是由于5.7版本语法比之前版本语法要求更加严格导致的。

解决方案:

1、vim /etc/my.cnf

2、如果没有sql_mode配置,则添加

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

3、如果已有sql_mode配置,务必删除ONLY_FULL_GROUP_BY这一项

4、我的sql_mode设置:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

5、重启mysql服务:

service mysqld restart

猜你喜欢

转载自www.cnblogs.com/oliverreal/p/9658860.html