<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
        主站蜘蛛池模板: 两个人看的www免费| 日韩亚洲国产综合高清| 无套内射无矿码免费看黄| 午夜色a大片在线观看免费| 亚洲AV成人一区二区三区在线看| 国产曰批免费视频播放免费s| 亚洲神级电影国语版| 国产福利视精品永久免费| avtt天堂网手机版亚洲| 在线观看免费大黄网站| 国产精品亚洲AV三区| 亚洲国产精品丝袜在线观看| 亚洲精品国产日韩无码AV永久免费网| gogo全球高清大胆亚洲| 久久er国产精品免费观看8| 亚洲国产无套无码av电影| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 97免费人妻无码视频| 亚洲小说图区综合在线| 国产精品冒白浆免费视频| 成年大片免费视频播放一级| 国产AV无码专区亚洲A∨毛片| 最近中文字幕mv免费高清在线| 亚洲一线产区二线产区精华| 特级淫片国产免费高清视频| 九九九精品视频免费| 亚洲第一AV网站| 久久精品a一国产成人免费网站| 国产精品亚洲精品久久精品| 亚洲色自偷自拍另类小说| 亚洲w码欧洲s码免费| 午夜亚洲WWW湿好爽| 亚洲精品一品区二品区三品区| 18禁无遮挡无码国产免费网站| 亚洲第一街区偷拍街拍| 亚洲精品你懂的在线观看 | 毛片在线播放免费观看| 亚洲乱码一二三四五六区| 免费在线黄色网址| 4444www免费看| 日日摸日日碰夜夜爽亚洲|