主頁 > 知識庫 > 解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated

解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated

熱門標簽:真人語音電話機器人 福建外呼系統(tǒng)定制化 電銷卡外呼系統(tǒng)供應商 銅陵防封電銷卡 悟空科技電話機器人 怎么在地圖標注位置生成圖片 美國反騷擾電話機器人 400電話可以免費申請嗎 騰訊地圖標注提升

原因:

   MySQL 5.7.5和up實現(xiàn)了對功能依賴的檢測。如果啟用了only_full_group_by SQL模式(在默認情況下是這樣),那么MySQL就會拒絕選擇列表、條件或順序列表引用的查詢,這些查詢將引用組中未命名的非聚合列,而不是在功能上依賴于它們。(在5.7.5之前,MySQL沒有檢測到功能依賴項,only_full_group_by在默認情況下是不啟用的。關于前5.7.5行為的描述,請參閱MySQL 5.6參考手冊。)

  執(zhí)行以下個命令,可以查看 sql_mode 的內容:  

mysql> SHOW SESSION VARIABLES;
mysql> SHOW GLOBAL VARIABLES;
mysql> select @@sql_mode;

可見session和global 的sql_mode的值都為:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

only_full_group_by說明:

only_full_group_by :使用這個就是使用和oracle一樣的group 規(guī)則, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行,其實這個配置目前個人感覺和distinct差不多的,所以去掉就好

解決:

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';br data-filtered="filtered">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';br data-filtered="filtered">

總結

以上所述是小編給大家介紹的解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • MySQL group by對單字分組序和多字段分組的方法講解
  • MySql Group By對多個字段進行分組的實現(xiàn)方法
  • Mysql利用group by分組排序
  • mysql使用GROUP BY分組實現(xiàn)取前N條記錄的方法
  • MySQL分組查詢Group By實現(xiàn)原理詳解
  • mysql分組取每組前幾條記錄(排名) 附group by與order by的研究
  • 基于mysql實現(xiàn)group by取各分組最新一條數(shù)據

標簽:武威 白銀 湖南 烏海 湖北 臨汾 聊城 云浮

巨人網絡通訊聲明:本文標題《解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated》,本文關鍵詞  解決,大于,5.7版本,mysql,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated》相關的同類信息!
  • 本頁收集關于解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated的相關信息資訊供網民參考!
  • 推薦文章