pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

  1. <tfoot id='KXRtr'></tfoot>

  2. <small id='KXRtr'></small><noframes id='KXRtr'>

    1. <i id='KXRtr'><tr id='KXRtr'><dt id='KXRtr'><q id='KXRtr'><span id='KXRtr'><b id='KXRtr'><form id='KXRtr'><ins id='KXRtr'></ins><ul id='KXRtr'></ul><sub id='KXRtr'></sub></form><legend id='KXRtr'></legend><bdo id='KXRtr'><pre id='KXRtr'><center id='KXRtr'></center></pre></bdo></b><th id='KXRtr'></th></span></q></dt></tr></i><div class="rf7rjpp" id='KXRtr'><tfoot id='KXRtr'></tfoot><dl id='KXRtr'><fieldset id='KXRtr'></fieldset></dl></div>
    2. <legend id='KXRtr'><style id='KXRtr'><dir id='KXRtr'><q id='KXRtr'></q></dir></style></legend>
      • <bdo id='KXRtr'></bdo><ul id='KXRtr'></ul>

      在 MySql 中執行查詢時與 only_full_group_by 相關的錯

      Error related to only_full_group_by when executing a query in MySql(在 MySql 中執行查詢時與 only_full_group_by 相關的錯誤)
      <tfoot id='q9oIj'></tfoot>
      <legend id='q9oIj'><style id='q9oIj'><dir id='q9oIj'><q id='q9oIj'></q></dir></style></legend>
        <bdo id='q9oIj'></bdo><ul id='q9oIj'></ul>

        <small id='q9oIj'></small><noframes id='q9oIj'>

          <tbody id='q9oIj'></tbody>
        <i id='q9oIj'><tr id='q9oIj'><dt id='q9oIj'><q id='q9oIj'><span id='q9oIj'><b id='q9oIj'><form id='q9oIj'><ins id='q9oIj'></ins><ul id='q9oIj'></ul><sub id='q9oIj'></sub></form><legend id='q9oIj'></legend><bdo id='q9oIj'><pre id='q9oIj'><center id='q9oIj'></center></pre></bdo></b><th id='q9oIj'></th></span></q></dt></tr></i><div class="pxf5pxl" id='q9oIj'><tfoot id='q9oIj'></tfoot><dl id='q9oIj'><fieldset id='q9oIj'></fieldset></dl></div>

              • 本文介紹了在 MySql 中執行查詢時與 only_full_group_by 相關的錯誤的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                我已經升級了我的系統并為我正在開發的 Web 應用程序安裝了帶有 php 的 MySql 5.7.9.我有一個動態創建的查詢,當在舊版本的 MySql 中運行時,它工作正常.升級到 5.7 后,我收到此錯誤:

                I have upgraded my system and have installed MySql 5.7.9 with php for a web application I am working on. I have a query that is dynamically created, and when run in older versions of MySql it works fine. Since upgrading to 5.7 I get this error:

                SELECT 列表的表達式 #1 不在 GROUP BY 子句中并且包含非聚合列support_desk.mod_users_groups.group_id"是在功能上不依賴于 GROUP BY 子句中的列;這是與 sql_mode=only_full_group_by 不兼容

                Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'support_desk.mod_users_groups.group_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

                注意關于服務器SQL模式.

                這是給我帶來麻煩的查詢:

                This is the query that is giving me trouble:

                SELECT mod_users_groups.group_id AS 'value', 
                       group_name AS 'text' 
                FROM mod_users_groups
                LEFT JOIN mod_users_data ON mod_users_groups.group_id = mod_users_data.group_id 
                WHERE  mod_users_groups.active = 1 
                  AND mod_users_groups.department_id = 1 
                  AND mod_users_groups.manage_work_orders = 1 
                  AND group_name != 'root' 
                  AND group_name != 'superuser' 
                GROUP BY group_name 
                HAVING COUNT(`user_id`) > 0 
                ORDER BY group_name
                

                我對這個問題進行了一些谷歌搜索,但我對 only_full_group_by 的了解不足以弄清楚我需要做什么來修復查詢.我可以關閉 only_full_group_by 選項,還是我需要做其他事情?

                I did some googling on the issue, but I don't understand only_full_group_by enough to figure out what I need to do to fix the query. Can I just turn off the only_full_group_by option, or is there something else I need to do?

                如果您需要更多信息,請告訴我.

                Let me know if you need more information.

                推薦答案

                我只想將 group_id 添加到 GROUP BY.

                I would just add group_id to the GROUP BY.

                SELECT 不屬于 GROUP BY 的列時,組內該列可能有多個值,但只有一個空間結果中的單個值.因此,數據庫通常需要被告知如何將這些多個值變成一個值.通常,這是通過一個聚合函數來完成的,比如 COUNT()SUM()MAX() 等等......我說通常因為大多數其他流行的數據庫系統都堅持這一點.但是,在 MySQL 5.7 之前的版本中,默認行為更加寬容,因為它不會抱怨然后任意選擇任何值!它還有一個 ANY_VALUE() 函數,如果你真的需要和以前一樣的行為,它可以用作這個問題的另一種解決方案.這種靈活性是有代價的,因為它是不確定的,所以除非你有充分的理由需要它,否則我不會推薦它.MySQL 現在默認打開 only_full_group_by 設置有充分的理由,所以最好習慣它并使您的查詢符合它.

                When SELECTing a column that is not part of the GROUP BY there could be multiple values for that column within the groups, but there will only be space for a single value in the results. So, the database usually needs to be told exactly how to make those multiple values into one value. Commonly, this is done with an aggregate function like COUNT(), SUM(), MAX() etc... I say usually because most other popular database systems insist on this. However, in MySQL prior to version 5.7 the default behaviour has been more forgiving because it will not complain and then arbitrarily choose any value! It also has an ANY_VALUE() function that could be used as another solution to this question if you really needed the same behaviour as before. This flexibility comes at a cost because it is non-deterministic, so I would not recommend it unless you have a very good reason for needing it. MySQL are now turning on the only_full_group_by setting by default for good reasons, so it's best to get used to it and make your queries comply with it.

                那為什么我上面的簡單回答是?我做了幾個假設:

                So why my simple answer above? I've made a couple of assumptions:

                1) group_id 是唯一的.看起來有道理,畢竟是一個ID".

                1) the group_id is unique. Seems reasonable, it is an 'ID' after all.

                2) group_name 也是唯一的.這可能不是一個合理的假設.如果不是這種情況,并且您有一些重復的 group_names,然后您按照我的建議將 group_id 添加到 GROUP BY,您可能會發現您現在可以獲得比以前更多的結果,因為具有相同名稱的組現在將在結果中具有單獨的行.對我來說,這比隱藏這些重復組要好,因為數據庫已經悄悄地任意選擇了一個值!

                2) the group_name is also unique. This may not be such a reasonable assumption. If this is not the case and you have some duplicate group_names and you then follow my advice to add group_id to the GROUP BY, you may find that you now get more results than before because the groups with the same name will now have separate rows in the results. To me, this would be better than having these duplicate groups hidden because the database has quietly selected a value arbitrarily!

                當涉及多個表時,用它們的表名或別名來限定所有列也是一種很好的做法......

                It's also good practice to qualify all the columns with their table name or alias when there's more than one table involved...

                SELECT 
                  g.group_id AS 'value', 
                  g.group_name AS 'text' 
                FROM mod_users_groups g
                LEFT JOIN mod_users_data d ON g.group_id = d.group_id 
                WHERE g.active = 1 
                  AND g.department_id = 1 
                  AND g.manage_work_orders = 1 
                  AND g.group_name != 'root' 
                  AND g.group_name != 'superuser' 
                GROUP BY 
                  g.group_name, 
                  g.group_id 
                HAVING COUNT(d.user_id) > 0 
                ORDER BY g.group_name
                

                這篇關于在 MySql 中執行查詢時與 only_full_group_by 相關的錯誤的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                How to use windowing functions efficiently to decide next N number of rows based on N number of previous values(如何有效地使用窗口函數根據 N 個先前值來決定接下來的 N 個行)
                reuse the result of a select expression in the quot;GROUP BYquot; clause?(在“GROUP BY中重用選擇表達式的結果;條款?)
                Does ignore option of Pyspark DataFrameWriter jdbc function ignore entire transaction or just offending rows?(Pyspark DataFrameWriter jdbc 函數的 ignore 選項是忽略整個事務還是只是有問題的行?) - IT屋-程序員軟件開發技
                Error while using INSERT INTO table ON DUPLICATE KEY, using a for loop array(使用 INSERT INTO table ON DUPLICATE KEY 時出錯,使用 for 循環數組)
                pyspark mysql jdbc load An error occurred while calling o23.load No suitable driver(pyspark mysql jdbc load 調用 o23.load 時發生錯誤 沒有合適的驅動程序)
                How to integrate Apache Spark with MySQL for reading database tables as a spark dataframe?(如何將 Apache Spark 與 MySQL 集成以將數據庫表作為 Spark 數據幀讀取?)
              • <legend id='Fi8Xe'><style id='Fi8Xe'><dir id='Fi8Xe'><q id='Fi8Xe'></q></dir></style></legend>
                  <tbody id='Fi8Xe'></tbody>

                <tfoot id='Fi8Xe'></tfoot>

                  <bdo id='Fi8Xe'></bdo><ul id='Fi8Xe'></ul>
                • <i id='Fi8Xe'><tr id='Fi8Xe'><dt id='Fi8Xe'><q id='Fi8Xe'><span id='Fi8Xe'><b id='Fi8Xe'><form id='Fi8Xe'><ins id='Fi8Xe'></ins><ul id='Fi8Xe'></ul><sub id='Fi8Xe'></sub></form><legend id='Fi8Xe'></legend><bdo id='Fi8Xe'><pre id='Fi8Xe'><center id='Fi8Xe'></center></pre></bdo></b><th id='Fi8Xe'></th></span></q></dt></tr></i><div class="nlblbjn" id='Fi8Xe'><tfoot id='Fi8Xe'></tfoot><dl id='Fi8Xe'><fieldset id='Fi8Xe'></fieldset></dl></div>

                    1. <small id='Fi8Xe'></small><noframes id='Fi8Xe'>

                          主站蜘蛛池模板: 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 长江船运_国内海运_内贸船运_大件海运|运输_船舶运输价格_钢材船运_内河运输_风电甲板船_游艇运输_航运货代电话_上海交航船运 | 便民信息网_家电维修,家电清洗,开锁换锁,本地家政公司 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 定制异形重型钢格栅板/钢格板_定做踏步板/排水沟盖板_钢格栅板批发厂家-河北圣墨金属制品有限公司 | 卫生人才网-中国专业的医疗卫生医学人才网招聘网站! | 楼承板-开闭口楼承板-无锡海逵楼承板 | 壹作文_中小学生优秀满分作文大全 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 减速机电机一体机_带电机减速器一套_德国BOSERL电动机与减速箱生产厂家 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 食品无尘净化车间,食品罐装净化车间,净化车间配套风淋室-青岛旭恒洁净技术有限公司 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 模具钢_高速钢_不锈钢-万利钢金属材料 | 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 24位ADC|8位MCU-芯易德科技有限公司| CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 中央空调维修、中央空调保养、螺杆压缩机维修-苏州东菱空调 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 作文导航网_作文之家_满分作文_优秀作文_作文大全_作文素材_最新作文分享发布平台 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 |