解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
原因:
MySQL 5.7.5和up實現(xiàn)了對功能依賴的檢測。如果啟用了only_full_group_by SQL模式(在默認(rèn)情況下是這樣),那么MySQL就會拒絕選擇列表、條件或順序列表引用的查詢,這些查詢將引用組中未命名的非聚合列,而不是在功能上依賴于它們。(在5.7.5之前,MySQL沒有檢測到功能依賴項,only_full_group_by在默認(rèn)情況下是不啟用的。關(guān)于前5.7.5行為的描述,請參閱MySQL 5.6參考手冊。)
執(zhí)行以下個命令,可以查看 sql_mode 的內(nèi)容:
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">
總結(jié)
以上所述是小編給大家介紹的解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
- Express實現(xiàn)前端后端通信上傳圖片之存儲數(shù)據(jù)庫(mysql)傻瓜式教程(二)
- Express實現(xiàn)前端后端通信上傳圖片之存儲數(shù)據(jù)庫(mysql)傻瓜式教程(一)
- 淺析node連接數(shù)據(jù)庫(express+mysql)
- MySQL運行報錯:“Expression?#1?of?SELECT?list?is?not?in?GROUP?BY?clause?and?contains?nonaggre”解決方法
- node基于express框架操作Mysql數(shù)據(jù)庫的步驟
- Node.js+Express+Mysql 實現(xiàn)增刪改查
- Express項目中操作MySQL的步驟
相關(guān)文章
MYSQL同步 Slave_IO_Running: No 或者Slave_SQL_Running: No的解決方法[已測
為了服務(wù)器更好的安全特將mysql服務(wù)器同步一下,show slave status\G出現(xiàn)了Slave_IO_Running: No 錯誤,特整理了下,方便以后配置2011-06-06如何使用mysqladmin獲取一個mysql實例當(dāng)前的TPS和QPS
這篇文章主要介紹了如何使用mysqladmin這個工具來獲取一個mysql實例當(dāng)前的TPS和QPS,幫助大家更好的管理數(shù)據(jù)庫,感興趣的朋友可以了解下2020-11-11MySQL實現(xiàn)字段分割一行轉(zhuǎn)多行的示例代碼
這篇文章主要介紹了MySQL實現(xiàn)字段分割一行轉(zhuǎn)多行的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07