phptp3.2去重⽅法,ThinkPHP5查询去除重复(distinct)及合
并重复(g。。。
distinct查询官⽅是这样描述的:
DISTINCT ⽅法⽤于返回唯⼀不同的值 。
例如数据库表中有以下数据
以下代码会返回user_login字段不同的数据
Db::table('think_user')->distinct(true)->field('user_login')->select();
⽣成的SQL语句是: SELECT DISTINCT user_login FROM think_user
返回以下数组
array(2) {
[0] => array(1) {
["user_login"] => string(7) "chunice"
}
[1] => array(1) {
["user_login"] => string(5) "admin"
}
}
distinct⽅法的参数是⼀个布尔值。
GROUP⽅法也是连贯操作⽅法之⼀,通常⽤于结合合计函数,根据⼀个或多个列对结果集进⾏分组 。
group⽅法只有⼀个参数,并且只能使⽤字符串。
例如,我们都查询结果按照⽤户id进⾏分组统计:
Db::table('think_user')
->field('user_id,username,max(score)')
->group('user_id')
->select();
⽣成的SQL语句是:
SELECT user_id,username,max(score) FROM think_score GROUP BY user_id
也⽀持对多个字段进⾏分组,例如:
Db::table('think_user')
->field('user_id,test_time,username,max(score)')
->group('user_id,test_time')
-
>select();
⽣成的SQL语句是:
SELECT user_id,test_time,username,max(score) FROM think_score GROUP BY user_id,test_time 以下为实例,也让⼤家参考下:
$db=new User; //实例化模型(数据表)
$data = $db->Distinct(true)->field('name')->order('name desc')->select(); //利⽤distinct⽅法去重$data = $db->group('name')->order('name desc')->select(); //利⽤group⽅法去重
dump($data);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论