1. 程式人生 > >laravel 關於mysql中groupby 不能 count 的問題

laravel 關於mysql中groupby 不能 count 的問題

今天碰到一個很奇葩的問題,卡了我很久。用laravel寫查詢,加了GroupBy之後再count,和原生語句裡統計的數量不對。搞了很久,終於知道原因了。

 

第一:GroupBy之後的Count返回的是分組後的第一組的數量

通過GroupBy分組後,再執行Count()函式返回的是:分組後資料,第一個分組的數量。

第二:使用distinct方法去除特定欄位的重複計數,然後統計數量

比如說,在laravel裡可以通過查詢構造器

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

來獲取統計數量。

坑爹是,laravel的文件裡沒有這個,自己搞了很久才搞明白。

distinct和groupby的區別,