关于db2和mysql下执行group by的问题

最近做项目需要用到mysql和db2两个数据库,发现用sql的时候,两个数据库的差别还是挺大的,比如mysql没有row_number函数,而db2有,但是现在有一个差异点让我很困惑,查了很多资料没有解答,望广大网友给点建议

问题是这样的:

在我的认知中,group by函数的用法,允许结构1:select colume1 from table group by coulume1,colume2;

但是不可以结构2:select colume1,colume2,count(colume3) from table group by colume1;

我的理解这是个分组,这样查,是按colume1分组,取的却是一个组内的字段,一个组外的字段,数据没有对应关系,sql会报错。

事实上,在db2环境下,执行了结构2这种语句,返回的是-119错误,仍在意料之内。

但是在mysql下,执行了结构2这种语句,没有报错,且查询成功,只是对应关系是按结果集顺序优先匹配。

这就是我的困惑了,mysql下的查询结果是没有分组的对应关系和分组的依据是不一致的,mysql真的支持这种查询方式吗?还是因为我的环境原因,mysql是5.7.17,数据库工具是navicat

 

 

 

问题已经解决了:

https://blog.csdn.net/zhya910702/article/details/19399865?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159729934319724835820339%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159729934319724835820339&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v3-4-19399865.pc_ecpm_v3_pc_rank_v3&utm_term=%E5%85%B3%E4%BA%8Edb2%E5%92%8Cmysql%E4%B8%8B%E6%89%A7%E8%A1%8Cgroup+by%E7%9A%84%E9%97%AE%E9%A2%98&spm=1018.2118.3001.4187

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值