mysql5.7
版本中,如果DISTINCT
和order 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