laravel 关于mysql中groupby 不能 count 的问题

今天碰到一个很奇葩的问题,卡了我很久。用laravel写查询,加了GroupBy之后再count,和原生语句里统计的数量不对。搞了很久,终于知道原因了。

 

第一:GroupBy之后的Count返回的是分组后的第一组的数量

通过GroupBy分组后,再执行Count()函数返回的是:分组后数据,第一个分组的数量。

第二:使用distinct方法去除特定字段的重复计数,然后统计数量

比如说,在laravel里可以通过查询构造器

DB::(‘test’)->distinct('test.id)->count();

来获取统计数量。

坑爹是,laravel的文档里没有这个,自己搞了很久才搞明白。

distinct和groupby的区别,以及使用方法。

转载于:https://my.oschina.net/shunshun/blog/3064896

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值