Thinkphp框架下对某个字段查询数据的时候进行唯一过滤,返回唯一不同的值

时间:2022-02-21 08:49:10

方法一、

DISTINCT 方法用于返回唯一不同的值 。

*distinct方法的参数是一个布尔值。

用法:

$data  = $Model->Distinct(true)->field('name')->select();

生成的SQL语句是: SELECT DISTINCT name FROM think_user

方法二、

GROUP方法也是连贯操作方法之一,通常用于结合合计函数,根据一个或多个列对结果集进行分组 。

*group方法只有一个参数,并且只能使用字符串。

用法:

$data = $Model->group('name')->order('name desc')->select(); 

优缺点:

利用distinct去重、简单易用,但只能对于单一字段去重,并且最终的结果也仅为去重的字段,即只能查询出去重的单一字段。 
利用group去重,最终的显示结果为所有字段,且对单一字段进行了去重操作。