MySQL如何使用group by 報(bào)this is incompatible with sql_mod,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、凌源網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為凌源等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
下面是employee表的所有數(shù)據(jù)。
使用group by 分組查詢報(bào)錯(cuò)this is incompatible with sql_mode=only_full_group_by
查看sql_model參數(shù)發(fā)現(xiàn):
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選項(xiàng)開啟,那么在使用group by時(shí)候, 只能select查詢group by后面的選項(xiàng),或者使用聚合函數(shù)。
只查詢group by后面的列:
使用聚合函數(shù):
但以上兩種方法不推薦?。?!
推薦解決方法:
1.臨時(shí),重啟mysql會失效
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
2.修改/etc/my.cnf
[mysqld]
加一行
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
重啟MySQL即可生效。
看完上述內(nèi)容,你們掌握MySQL如何使用group by 報(bào)this is incompatible with sql_mod的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!