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

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

 

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

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

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

好比说,在laravel里能够经过查询构造器test

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

来获取统计数量。统计

坑爹是,laravel的文档里没有这个,本身搞了好久才搞明白。数据

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

相关文章
相关标签/搜索