Mysql解決SELECT list is not in GROUP BY clause and contains nonaggregated column 問題

解決辦法:

三步走,實測有效!!!

1:--查看數據庫sql查詢模式

select @@GLOBAL.sql_mode;

2:-- 去除only_full_group_by 模式設置,保留第一步查詢出來的其他配置項

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';

set SESSION sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';


3:重啓自身項目重新加載數據庫配置即可!

原因:

MYSQL5.7.x版本默認開啓了only_full_group_by 查詢模式,不允許需要group by的字段後跟其他字段。

如果想要保留該模式,可以嘗試在需要group by字段的後邊使用any_value(其他字段),這個方式參考網友答案,個人未經嘗試

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