MYSQL查詢報錯 Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column,

完整報錯如下:Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sa.type' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

原因:在MySQL5.7.5後,默認開啓了ONLY_FULL_GROUP_BY,所以導致了之前的一些SQL無法正常執行,其實,是我們的SQL不規範造成的,因爲group by 之後,返回的一些數據是不確定的,所以纔會出現這個錯誤。

解決辦法:

修改下sql_mode即可:

select version(), @@sql_mode;

 

修改:

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

參考地址:https://cloud.tencent.com/developer/article/1404739 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章