<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
        主站蜘蛛池模板: 羞羞视频免费网站在线看| 亚洲av无码电影网| 高清免费久久午夜精品| 国产男女猛烈无遮挡免费视频网站| 亚洲 暴爽 AV人人爽日日碰| 午夜一区二区免费视频| 亚洲女女女同性video| 日本最新免费不卡二区在线| 色偷偷亚洲第一综合| 亚洲精品无码av天堂| 99久久成人国产精品免费| 亚洲成色在线综合网站| 蜜桃成人无码区免费视频网站| 亚洲手机中文字幕| 大香人蕉免费视频75| 无忧传媒视频免费观看入口| 亚洲人成影院在线观看| 久爱免费观看在线网站| 亚洲成a人片在线观看中文app| 免费观看美女裸体网站| 四虎影视久久久免费| 亚洲综合在线视频| 天天天欲色欲色WWW免费| 日韩精品视频在线观看免费| 亚洲精品乱码久久久久久按摩| 亚洲精品在线免费观看视频| 亚洲国产精品ⅴa在线观看| 国产亚洲精品激情都市| 四虎最新永久免费视频| 色天使亚洲综合一区二区| 亚洲国产精品特色大片观看完整版| 亚洲一级免费视频| 瑟瑟网站免费网站入口| 亚洲精品成人av在线| 四虎永久免费观看| 日本一道本不卡免费| 亚洲精品无码久久| 亚洲国产成人一区二区三区| 最近最新MV在线观看免费高清| A毛片毛片看免费| 亚洲色偷偷色噜噜狠狠99|