Thinkphp框架下对某个字段查询数据的时候进行唯一过滤,返回唯一不同的值
方法一、
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去重,最终的显示结果为所有字段,且对单一字段进行了去重操作。