位置: 编程技术 - 正文

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

  • 小型微利企业所得税怎么计算
  • 增值税纳税申报时间
  • 物业公司要交税吗?
  • 个体定期定额怎么征税2023
  • 公司购买金蝶属于什么费用
  • 小型微利企业预缴
  • 销售增长率在报表上怎么看出来
  • 开票有误的具体
  • 企业所得税按月还是按季度申报
  • 房地产企业所得税汇算清缴
  • 调解书和判决书执行力度一样吗
  • 增值税有差额如何调账
  • 城建税漏报怎么办
  • 三公经费包括哪些支出
  • 企业所得税汇算清缴退税怎么做账务处理
  • 出售固定资产累计折旧的账务处理
  • 一般纳税人十万以下免教育费附加
  • 同比增长率为负数怎么算
  • 公会经费开支范围
  • 北大新闻传播学院副院长
  • 事业单位项目前景怎么样
  • 以房抵债房屋能否判决过户
  • 在线网速测试工具
  • win10系统如何设置开机启动软件
  • 跨年发票税务处理两大原则
  • win10记事本在哪找
  • 贸易公司如何办理产地证
  • rteng7.exe - rteng7是什么进程 有什么用
  • 出口增值税怎么计算公式
  • 税款滞纳金会计处理
  • 外请培训老师的路费谁承担
  • 蜈蚣什么情况下出现
  • php的中文名
  • ls -all命令
  • 存货盘点会计分录怎么做
  • 汇率一般是以几位数来显示
  • php smtp发送邮件
  • 未开票金额怎么报税
  • 公司银行账号注销需要什么资料
  • 预提成本应该如何结转
  • c语言fgets函数用法stdin
  • 不动产投资缴纳什么税
  • access使用查询设计视图计算并显示平均成绩
  • 税率开成0了怎么办
  • 科技经费使用
  • sql server 2016使用
  • 没有收入如何做账
  • 购进固定资产的账务处理
  • 外资企业可以融资吗
  • 跨月开票的业务怎么做
  • 零售金银首饰是否缴纳消费税
  • 残保金申报可以随便填吗
  • 公司内部食堂招待费账务处理
  • 低值易耗品一次性摊销会计科目
  • 主营业务收入记多栏还是三栏
  • 公允价值变动损益
  • 房屋建筑物固定资产标牌图片
  • 印花税计提金额怎么算
  • 施工单位食堂管理要求
  • 客户退货,但不退货
  • 电子承兑汇票如何入账
  • 子公司的财务管理方法
  • 原材料暂估的账务处理
  • mysql 备份和恢复
  • won10怎么安装
  • Windows Server 2008网络中禁止迅雷下载
  • winxp回收站在哪里
  • win7任务栏窗口总是自动切换
  • linux中grep命令用法
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • 查看syslog
  • win10系统出现问题怎么办
  • 梦见擦窗户框
  • python读取数据
  • bootstrap要学吗
  • shell脚本获取本地ip
  • iphone触控手势
  • unity做app
  • 安卓wifi打不开解决
  • javascript零基础
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设