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',''));

即可正常使用。 

 

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