【TP5 :数据库:查询构造器:链式操作】group,having

版权声明:本文为ywcmoon原创文章,未经允许不得转载。 https://blog.csdn.net/qq_39251267/article/details/82224216

group

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

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

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')
    ->group('user_id,test_time')
    ->select();

生成的sql语句:

SELECT user_id FROM think_score GROUP BY user_id,test_time

having

HAVING方法也是连贯操作之一,用于配合group方法完成从分组的结果中筛选(通常是聚合条件)数据。

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

Db::table('think_user')
    ->field('username,max(score)')
    ->group('user_id')
    ->having('count(test_time)>3')
    ->select(); 

生成的sql语句

SELECT username,max(score) FROM think_score GROUP BY user_id HAVING count(test_time)>3

猜你喜欢

转载自blog.csdn.net/qq_39251267/article/details/82224216