<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        Mysql升級到5.7后遇到的groupby查詢問題解決

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 20:30:58
        文檔

        Mysql升級到5.7后遇到的groupby查詢問題解決

        Mysql升級到5.7后遇到的groupby查詢問題解決:發(fā)現(xiàn)問題 最近在將mysql升級到mysql 5.7后,進(jìn)行一些group by 查詢時,比如下面的 SELECT *, count(id) as count FROM `news` GROUP BY `group_id` ORDER BY `inputtime` DESC LIMIT 20 就會報如下錯誤: SELECT
        推薦度:
        導(dǎo)讀Mysql升級到5.7后遇到的groupby查詢問題解決:發(fā)現(xiàn)問題 最近在將mysql升級到mysql 5.7后,進(jìn)行一些group by 查詢時,比如下面的 SELECT *, count(id) as count FROM `news` GROUP BY `group_id` ORDER BY `inputtime` DESC LIMIT 20 就會報如下錯誤: SELECT

        發(fā)現(xiàn)問題

        最近在將mysql升級到mysql 5.7后,進(jìn)行一些group by 查詢時,比如下面的

        SELECT *, count(id) as count FROM `news` GROUP BY `group_id` ORDER BY `inputtime` DESC LIMIT 20

        就會報如下錯誤:

        SELECT list is not in GROUP BY clause and contains nonaggregated column ‘news.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by.

        原因分析

        原因是mysql 5.7 模式中。默認(rèn)啟用了ONLY_FULL_GROUP_BY。

        ONLY_FULL_GROUP_BY是MySQL提供的一個sql_mode,通過這個sql_mode來提供SQL語句GROUP BY合法性的檢查。

        http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by

        this is incompatible with sql_mode=only_full_group_by這句話提示了這違背了mysql的規(guī)則,only fully group by,也就是說在執(zhí)行的時候先分組,根據(jù)查詢的字段(select的字段)在分組的內(nèi)容中取出,所以查詢的字段全部都應(yīng)該在group by分組條件內(nèi);一種情況例外,查詢字段中如果含有聚合函數(shù)的字段不用包含在group by中,就像我上面的count(id)。

        后來發(fā)現(xiàn)Order by排序條件的字段也必須要在group by內(nèi),排序的字段也是從分組的字段中取出。 不明白的可以去看一下。

        解決辦法:

        1.set@@sql_mode='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即可正常執(zhí)行sql.

        2. 不去ONLY_FULL_GROUP_BY, 時 select字段必須都在group by分組條件內(nèi)(含有函數(shù)的字段除外)。(如果遇到order by也出現(xiàn)這個問題,同理,order by字段也都要在group by內(nèi))。

        3.利用ANY_VALUE()這個函數(shù) https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_any-value

        This function is useful for GROUP BY queries when the ONLY_FULL_GROUP_BY SQL mode is enabled, for cases when MySQL rejects a query that you know is valid for reasons that MySQL cannot determine. The function return value and type are the same as the return value and type of its argument, but the function result is not checked for the ONLY_FULL_GROUP_BY SQL mode.

        如上面的sql語句可寫成

        SELECT ANY_VALUE(id)as id,ANY_VALUE(uid) as uid ,ANY_VALUE(username) as username,ANY_VALUE(title) as title,ANY_VALUE(author) as author,ANY_VALUE(thumb) as thumb,ANY_VALUE(description) as description,ANY_VALUE(content) as content,ANY_VALUE(linkurl) as linkurl,ANY_VALUE(url) as url,ANY_VALUE(group_id) as group_id,ANY_VALUE(inputtime) as inputtime, count(id) as count FROM `news` GROUP BY `group_id` ORDER BY ANY_VALUE(inputtime) DESC LIMIT 20

        我選用的是第3種方法。

        總結(jié)

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Mysql升級到5.7后遇到的groupby查詢問題解決

        Mysql升級到5.7后遇到的groupby查詢問題解決:發(fā)現(xiàn)問題 最近在將mysql升級到mysql 5.7后,進(jìn)行一些group by 查詢時,比如下面的 SELECT *, count(id) as count FROM `news` GROUP BY `group_id` ORDER BY `inputtime` DESC LIMIT 20 就會報如下錯誤: SELECT
        推薦度:
        標(biāo)簽: 問題 的問題 升級到
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 最近2019免费中文字幕6| a级毛片毛片免费观看久潮| 久久91亚洲精品中文字幕| 亚洲日韩乱码中文无码蜜桃臀| 亚洲av无码无线在线观看| 日本黄页网站免费| 亚洲1区2区3区精华液| 五月婷婷亚洲综合| 成年大片免费视频播放一级| 亚洲AⅤ优女AV综合久久久| eeuss草民免费| 亚洲成AV人片在线观看无码| 羞羞网站免费观看| 国产92成人精品视频免费| 在线a亚洲v天堂网2019无码| 亚洲色欲色欱wwW在线| 99久久免费精品高清特色大片| 亚洲精品视频免费观看| 香蕉视频在线免费看| 亚洲av日韩av高潮潮喷无码| **aaaaa毛片免费| 亚洲欧洲日韩不卡| a级毛片毛片免费观看久潮喷| 亚洲av无码乱码国产精品| 久久久久久久免费视频| 亚洲а∨精品天堂在线| 红杏亚洲影院一区二区三区| 免费福利在线观看| 久久久久亚洲精品美女| 免费v片在线观看视频网站| 亚洲综合无码无在线观看| 亚洲免费一区二区| 久久www免费人成看片| 国产亚洲男人的天堂在线观看 | 国产精品高清视亚洲精品| 四虎影在线永久免费四虎地址8848aa| 东方aⅴ免费观看久久av| 亚洲熟妇AV乱码在线观看| 亚洲日韩国产精品第一页一区| 精品一区二区三区高清免费观看| 久久亚洲精品成人无码网站|