Thinkphp5 distinct去重,group by分組去重

distinct 

有時候select的字段過多,好像是根據最後一個來去重的,不滿足需求,因此用group by。

Db::table('think_user')->distinct(true)->field('user_login')->select();

count

如果用count,這樣: 

Db::table('think_user')->field('user_login')->count('distinct user_login');

group by

group的字段,需要出現在查詢的字段中,

Db::table('think_user')->field('user_login')->group('user_login');

如果group出現以下報錯:

說明mysql版本比較高,執行:

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

即可正常使用。 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章