今天碰到一个很奇葩的问题,卡了我好久。用laravel写查询,加了GroupBy以后再count,和原生语句里统计的数量不对。搞了好久,终于知道缘由了。laravel
第一:GroupBy以后的Count返回的是分组后的第一组的数量函数
经过GroupBy分组后,再执行Count()函数返回的是:分组后数据,第一个分组的数量。code
第二:使用distinct方法去除特定字段的重复计数,而后统计数量文档
好比说,在laravel里能够经过查询构造器test
DB::(‘test’)->distinct('test.id)->count();
方法
来获取统计数量。统计
坑爹是,laravel的文档里没有这个,本身搞了好久才搞明白。数据
distinct和groupby的区别,以及使用方法。查询