MySQL5.6的Group By语法到HGDB的迁移(APP)

目录

环境

文档用途

详细信息

环境

系统平台:中标麒麟(CPU龙芯)7

版本:4.3.4

文档用途

对于GROUP BY聚合操作,如果在SELECT中的字段,没有在GROUP BY中出现,那么这个SQL是不合法的,但是在MySQL5.6版本中不会报错,GROUP BY以外的字段取分组中的第一条数据。

例如:

SELECT A, B, C, D, COUNT(*) FROM tablename GROUP BY A,B

注:检索字段C和D不在GROUP BY中

由于瀚高数据库严格遵守SQL标准,上面SQL语句执行报错,需要通过改写SQL语句的方式实现同样的功能。

详细信息

下面通过实例进行详细说明:

MySQL5.6的语句:

SELECT sid, sname, ssex, SUM(score) FROM students WHERE xxx GROUP BY ssex

注:sid、sname在GROUP BY中没有出现

HGDB的解决方案:

方案一:

SELECT中存在,但是GROUP BY中没有的字段(sid、sname),有下面情况时,从SELECT中把多余的字段删除。

1) 这种字段在SQL语句中没有被使用。

2) 这种字段在后续代码中没有被使用。

3) 这种字段在画面上也没有被使用,也不显示。

注:这种字段从未被使用过,这种写法单纯是写错了的情况。

方案二:

更多解决方案请登录【瀚高技术支持平台】查看瀚高技术支持平台 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值