位置: 编程技术 - 正文

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安装教程详解

  • 事业单位怎么给分
  • 增值税普通发票怎么开
  • 税务缴税流程
  • 银行借款的实际利率=名义年利息/实际贷款额*100%
  • 技术服务费怎么算成本
  • 个体户免税金额现在是多少
  • 应付账款贷方怎么调整
  • 工程项目估算收入要缴税吗
  • 税务局季度报表怎么做
  • 增值税主表本期缴纳上期应纳税额需要填数嘛
  • 预付账款借方怎么处理
  • 附加免税额是什么
  • 客运承运人是什么意思
  • 幼儿园收取生活费通知
  • 住房公积金部分业务暂停办理
  • 商业会计主要做什么帐
  • 理财产品收益交税
  • 物业公司收到一年物业费开具发票后如何确认收入
  • 库存商品期末计量
  • 企业合并以外
  • 发票显示不抵扣什么意思
  • 收派服务费入什么科目
  • 馒头税率是9么
  • 研发支出资本化的条件
  • 个人所得税怎么交的,怎么算的
  • 企业的业务招待费多了好还是少了好
  • 报关单上的运费怎么看
  • 帮别人公司过账100万,再转30回给他
  • 上月留底的进项税额本月转出做什么分录
  • 局域网文件共享不稳定
  • 公司用车年检
  • wordpress优化加快的好多个关键点
  • php 统计
  • 格拉纳达的阿尔罕布拉宫用什么材料制成?
  • 税务局开出来的发票没问题吧?
  • 资产负债表项目填列的依据是
  • php实现数组排序,所有奇数在前偶数在后怎么排序
  • ajaxuploadfile
  • ubuntu20.04.1安装
  • vue+echarts
  • 毕业设计基于Linux系统的NFS服务器搭建
  • 帝国cms添加栏目前台不显示
  • 应交增值税为负数怎么处理
  • vue打包找不到文件
  • SQLServer 2008 R2中使用Cross apply统计最新数据和最近数据
  • 预算收入的核算
  • 未实际支付的成本能否列支
  • 简易计税开票税率
  • 个体户不刻公章也要报税吗
  • 已经认证抵扣的发票怎么红冲
  • 计提所得税后再结转本年利润吗
  • 补交增值税如何入账
  • 贴现收到票据时会计分录
  • 工程款打入个人账户扣税吗
  • mysql序列函数
  • sql函数使用
  • 如何把数据生成表格
  • window8开机
  • winxp系统如何设置禁用磁盘检测功能
  • linux 文件
  • 系统有乱码怎么解决
  • 光盘做镜像文件
  • vc_mbcsmfc.exe是什么
  • ·exe病毒
  • ubuntu系统自带的截图工具
  • debian安装配置清华源
  • console打开
  • winxp系统怎么安装
  • 如何创建微软帐户
  • ,linux
  • linux讲解
  • 在Linux系统中安装镜像步骤
  • cocos2d怎么用
  • math和maths哪个对
  • angular 图片懒加载
  • javascript基础入门视频教程
  • 简述javascript的主要特点
  • 汽车车船税收费标准表山西
  • 宁波车管所作息时间
  • 个人所得税自行纳税申报表(A表)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设