MySQL8.0.25问题(WITH,UNION ALL,窗口函数,聚合函数的组合,可能导致执行报错“Lost connection to MySQL server during query“)

【问题如下】

有一段WITH查询的SQL,最后的SELECT中含聚合函数SUM和UNION ALL,上一层查询RESULT_DETAIL中还用到了窗口函数OVER(),执行报错
sqlyog工具中执行报错:Lost connection to MySQL server during query
JAVA程序里执行报错:The last packet successfully received from the server was 8,321 milliseconds ago. The last packet sent successfully to the server was 8,322 milliseconds ago.; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
在这里插入图片描述

【检查过程】

1、该SQL在几个8.0.25版本的MySQL数据库中执行,均报错,在8.0.26,8.0.28版本的数据库中执行正常,均没有报错;
(以下在8.0.25版本中执行)
2、去掉RESULT_DETAIL中的窗口函数OVER(),写成 1 AS RN,不再报错;
3、保留窗口函数,去掉最后的UNION ALL以及SUM,直接SELECT * FROM RESULT_DETAIL ,不再报错。

【解决方法】

将MySQL数据库,从8.0.25升级到8.0.28,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值