位置: 编程技术 - 正文

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

  • 免税进账转出怎么填表
  • 新注册公司没有员工怎么报个税
  • 计提附加税会计凭证怎么做会计分录
  • 什么是消费税?特征有哪些
  • 以前年度损益调整在利润表中怎么填
  • 发出商品的会计核算
  • 建筑业工程项目登记是哪方提交
  • 房地产开发企业资质证书
  • 房地产企业所得税汇算清缴
  • 小规模增值税做那个费用科目
  • 挂应付账款之后发现用现金付款如何调整?
  • 母公司与子公司之间的资金往来
  • 房租税费计入什么会计科目
  • 出纳去银行
  • 发票验证系统费用多少钱?
  • 营改增后建筑企业财务核算
  • 转账支票怎么进账到个人账户
  • 运输发票的税率分类
  • 金融公司一般有哪些业务
  • 外购存货成本包括哪些
  • 扣缴上月税费会计分录
  • 库存暂估入账
  • 用友u8计提企业所得税
  • 资本公积可以退还给投资者吗
  • windows10专业
  • 生产车间工资计入什么费用科目
  • 年度利润总额是会计利润吗
  • 价款包括增值税税率吗
  • 出租人负责维修
  • 二手固定资产使用年限
  • 苹果电脑怎么快速
  • 工程发票可以用材料发票抵扣吗
  • 共管账户和监管账户是一样的吗知乎
  • linux怎样安装
  • 兼职如何交税款
  • 塞里雅兰瀑布图片高清
  • uniapp怎么开启路由拦截
  • 中央公园商场
  • 黄石国家公园的建立意义
  • 公司已经注销了还能劳动仲裁吗
  • 个体户对公账户的钱怎么取出来
  • 列表定义格式
  • 发票金额和打款金额不一致怎么办
  • phpcms使用教程
  • 附清单格式
  • 处置子公司账务处理
  • 企业在计提短期借款利息时可能用到的会计科目有
  • 小规模超500万升一般纳税人规定
  • 公司购买的房屋怎么入账
  • 民间非营利组织会计账务处理
  • 销售收入和营业收入的关系
  • 跨境电商企业账务如何做账
  • day12-Servlet02
  • 帝国cms移动端
  • mac安装mysql8.0
  • 日常费用明细表格式
  • 制造费用属于费用性支出吗
  • 通过SQLServer 2008 操作 MySQL的方法
  • sql server版本号查看
  • sa密码不满足强密码要求
  • 通行费抵扣进项税怎么做账
  • 应收利息和应收股利属于什么科目
  • 无票收入是怎么算的
  • 法人买社保又不发工资怎么做账
  • 捆绑销售如何做税务处理合适?
  • 部门召开会议
  • 分公司交总公司管理费怎么做账
  • 收到的业务赔偿如何入账
  • 支付残疾人保证金的现金流
  • 固定资产一次性扣除账务处理
  • 软件开发是否属于采购目录
  • mysql5.7.35安装
  • xp系统英文版怎么改成中文
  • win7游戏打开没反应
  • django项目中遇到的难点
  • shell的实现
  • android 开源
  • 个体加油站税务怎么申报
  • 社保缴纳人数和公积金人数不一样怎么说明
  • 上海税务登记如何网上申请
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设