位置: 编程技术 - 正文

Mysql升级到5.7后遇到的group by查询问题解决(mysql从5.7升级至8.0)

编辑:rootadmin

推荐整理分享Mysql升级到5.7后遇到的group by查询问题解决(mysql从5.7升级至8.0),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql5升级到8,mysql5.0升级到8.0,mysql5.5升级到5.6,mysql5升级到8,mysql5.5升级到5.6,mysql 5.5升级到5.7,mysql5.6升级到5.7,mysql5.6升级到5.7,内容如对您有帮助,希望把文章链接给更多的朋友!

发现问题

最近在将mysql升级到mysql 5.7后,进行一些group by 查询时,比如下面的

就会报如下错误:

原因分析

原因是mysql 5.7 模式中。默认启用了ONLY_FULL_GROUP_BY。

ONLY_FULL_GROUP_BY是MySQL提供的一个sql_mode,通过这个sql_mode来提供SQL语句GROUP BY合法性的检查。

Mysql升级到5.7后遇到的group by查询问题解决(mysql从5.7升级至8.0)

is incompatible with sql_mode=only_full_group_by这句话提示了这违背了mysql的规则,only fully group by,也就是说在执行的时候先分组,根据查询的字段(select的字段)在分组的内容中取出,所以查询的字段全部都应该在group by分组条件内;一种情况例外,查询字段中如果含有聚合函数的字段不用包含在group by中,就像我上面的count(id)。

后来发现Order by排序条件的字段也必须要在group by内,排序的字段也是从分组的字段中取出。 不明白的可以去看一下。

解决办法:

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即可正常执行sql.

2. 不去ONLY_FULL_GROUP_BY, 时 select字段必须都在group by分组条件内(含有函数的字段除外)。(如果遇到order by也出现这个问题,同理,order by字段也都要在group by内)。

3.利用ANY_VALUE()这个函数  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语句可写成

我选用的是第3种方法。

总结

标签: mysql从5.7升级至8.0

本文链接地址:https://www.jiuchutong.com/biancheng/348650.html 转载请保留说明!

上一篇:详解mysql中的静态变量的作用(mysqlusing)

下一篇:Centos7 下Mysql5.7.19安装教程详解

  • 建筑垃圾清运税率多少
  • 固定资产计提折旧计入什么科目
  • 长期应收款的计税基础 陈版
  • 出售技术所有权的会计分录
  • 会计科目累计摊销是什么意思
  • 房屋租赁发票票样
  • 实收资本增加的印花税
  • 知道税额怎么算含税金额
  • 公告费交了以后能否撤销
  • 项目所在地怎么填
  • 打款金额少于开票金额
  • 车辆购置税计税依据包括
  • 公司用现金发放工资在税法上合规吗
  • 卷式发票有税率吗
  • 学校应该缴纳的税
  • 合同中没有明确违约责任怎么办
  • 收到个税手续费返还现金流量表
  • 预提厂房租金
  • 材料未到,货款尚未支付
  • win10系统如何卸载ie11
  • 刷信用卡没手续费
  • linux aptx
  • win10版本激活码
  • 在win10中显示我的电脑
  • 认缴制没有实资本会怎么样
  • 如何启用系统引擎
  • 公司出售已经提完折旧的机器
  • 分手我不怕
  • 残疾人就业保障金
  • 税款返还的会计处理方法
  • 完工产品成本怎么分配
  • 可抵扣增值税有哪些
  • 工会费会计分录
  • 成本会计工作流程表
  • 房地产预缴所得税怎么算
  • 为公司垫付费用,怎么要回
  • php用img显示图片
  • 装修阶段监理注意事项
  • 前端高手进阶
  • 基于springboot的购物商城
  • cvpr best
  • 不得抵扣增值税的情形有哪些
  • 结转销售成本的凭证需要附件吗
  • element ui vue 3
  • 应交税费下的科目设置
  • 物流公司主营业务怎么写
  • 代理进口业务应纳的关税
  • 计提 增值税
  • 汽车租赁属于经营租赁吗
  • 无租房合同可以贷款吗
  • 应付账款账户的结构与什么账户相似
  • 增值税包括哪三种类型
  • 资产负债表和利润表的区别
  • sqlserver2005安装失败
  • 异地房产税如何收
  • 在贫困户入股分红大会上的讲话
  • 待处理财产损益会计分录
  • 营业外支出科目核算内容
  • 增资协议书范本合同
  • 暂估出口收入如何计算
  • 收付转三种凭证怎么装订
  • 场地租用招标方案怎么写
  • 产品出库检验报告单格式
  • 怎么修改ubuntu的ip地址
  • Windows Server AD 访问数量控制配置方法
  • ctl.start
  • win8.1删除所有内容并重新安装
  • linux调整桌面分辨率
  • jquery width
  • bat批处理命令大全
  • 黑客需要学哪些
  • nodejs全栈前景
  • css checked
  • js必须掌握的知识点
  • git 删除分支和回滚的实例详解
  • UnityException: Launching iOS project via Xcode4 failed
  • 国家税务局查验发票显示网络异常
  • 动车票电子发票如何获取
  • 土地增值税的房屋转让指出售 赠与
  • 郑州广电地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设