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的區別,以及使用方法。查詢

相關文章
相關標籤/搜索