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

即可正常使用。

 

 

转载自https://blog.csdn.net/qq_37035946/article/details/105365243

 

posted @ 2021-05-11 16:56  2538  阅读(605)  评论(0编辑  收藏  举报