解決大于5.7版本mysql的分組報(bào)錯(cuò)Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
原因:
MySQL 5.7.5和up實(shí)現(xiàn)了對(duì)功能依賴的檢測(cè)。如果啟用了only_full_group_by SQL模式(在默認(rèn)情況下是這樣),那么MySQL就會(huì)拒絕選擇列表、條件或順序列表引用的查詢,這些查詢將引用組中未命名的非聚合列,而不是在功能上依賴于它們。(在5.7.5之前,MySQL沒(méi)有檢測(cè)到功能依賴項(xiàng),only_full_group_by在默認(rèn)情況下是不啟用的。關(guān)于前5.7.5行為的描述,請(qǐng)參閱MySQL 5.6參考手冊(cè)。)
執(zhí)行以下個(gè)命令,可以查看 sql_mode 的內(nèi)容:
mysql> SHOW SESSION VARIABLES; mysql> SHOW GLOBAL VARIABLES; mysql> select @@sql_mode;
可見(jiàn)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說(shuō)明:
only_full_group_by :使用這個(gè)就是使用和oracle一樣的group 規(guī)則, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行,其實(shí)這個(gè)配置目前個(gè)人感覺(jué)和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">
總結(jié)
以上所述是小編給大家介紹的解決大于5.7版本mysql的分組報(bào)錯(cuò)Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Express實(shí)現(xiàn)前端后端通信上傳圖片之存儲(chǔ)數(shù)據(jù)庫(kù)(mysql)傻瓜式教程(二)
- Express實(shí)現(xiàn)前端后端通信上傳圖片之存儲(chǔ)數(shù)據(jù)庫(kù)(mysql)傻瓜式教程(一)
- 淺析node連接數(shù)據(jù)庫(kù)(express+mysql)
- MySQL運(yùn)行報(bào)錯(cuò):“Expression?#1?of?SELECT?list?is?not?in?GROUP?BY?clause?and?contains?nonaggre”解決方法
- node基于express框架操作Mysql數(shù)據(jù)庫(kù)的步驟
- Node.js+Express+Mysql 實(shí)現(xiàn)增刪改查
- Express項(xiàng)目中操作MySQL的步驟
相關(guān)文章
MySQL存儲(chǔ)函數(shù)以及觸發(fā)器詳解
這篇文章詳細(xì)給大家介紹了MySQL-SQL存儲(chǔ)函數(shù)以及觸發(fā)器,文中有詳細(xì)的代碼示例,對(duì)我們學(xué)習(xí)MySQL有一定的幫助,感興趣的朋友可以參考閱讀下2023-06-06
Mysql內(nèi)置函數(shù)的實(shí)現(xiàn)示例
mysql內(nèi)置了很多的函數(shù),本文主要介紹了Mysql內(nèi)置函數(shù)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
MySQL中的基本查詢語(yǔ)句學(xué)習(xí)筆記
這篇文章主要介紹了MySQL中的基本查詢語(yǔ)句學(xué)習(xí)筆記,包括使用limit限制查詢結(jié)果條數(shù)和合并查詢結(jié)果的方法,需要的朋友可以參考下2016-03-03
mysql 數(shù)據(jù)庫(kù)安裝經(jīng)驗(yàn)問(wèn)題匯總
這篇文章主要介紹了mysql 數(shù)據(jù)庫(kù)安裝經(jīng)驗(yàn)問(wèn)題匯總,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
MySQL?DDL執(zhí)行方式Online?DDL詳解
這篇文章主要介紹了MySQL?DDL執(zhí)行方式Online?DDL詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09
新手把mysql裝進(jìn)docker中碰到的各種問(wèn)題
這篇文章主要給大家介紹了新手第一次把mysql裝進(jìn)docker中可能碰到的各種問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
JDBC連接mysql8和mysql5.7的注意事項(xiàng)
這篇文章主要介紹了JDBC連接mysql8和mysql5.7的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09

