* [ ] 功能
* 用于配合 group 方法完成从分组的结果中筛选(通常是聚合条件)数据
* having方法有两个参数:$data 和 $andor
* $data 是聚合条件,支持数据、字符串
* 当 $data 为数组的时候,$andor 条件组合类型设置才有效,or 或 and,默认 and
* 当 $data 为字符串的时候,$andor 设置值无效
* 场景:user 数据库的 user_account 表只有 3 条数据,数据为:
user_account 表
| uid | username | score |
| :---: | :---: | :--: |
| 1 | 张三 | 100 |
| 2 | 李四 | 97 |
| 3 | 隔壁老王 | 100 |
* 用法一:数组方式
~~~
// 过滤字段
$field = 'uid,username,count(score) as count_score';
// 数组聚合条件
$having = array(
'count_score[>]' => 99,
'uid[>]' => 1,
);
// 按照用户 ID 分组
$group = 'uid';
// 条件组合关系,默认是 and
$andor = 'and';
$data = mysql\User::table('account')->field( $field )->having( $having, $andor )->group( $group )->select();
~~~
查询结果:
~~~
array(
array(
'uid' => 3,
'username' => '隔壁老王',
'count_score' => 100,
),
);
~~~
* 用法二:字符方式
~~~
// 过滤字段
$field = 'uid,username,count(score) as count_score';
// 字符聚合条件
$having = 'count_score > 99 and uid > 1';
// 按照用户 ID 分组
$group = 'uid';
$data = mysql\User::table('account')->field( $field )->having( $having )->group( $group )->select();
~~~
查询结果:
~~~
array(
array(
'uid' => 3,
'username' => '隔壁老王',
'count_score' => 100,
),
);
~~~
- 开始使用
- 配置文件
- 路由模式
- AutoLoad类
- 启动文件
- __construct
- SetRouting
- SetAlias
- SetStop
- SetError
- Access
- SetWorker
- SetClassFile
- SetClassDir
- Run
- OpenLoad
- LinuxStartAll
- Session类
- 使用说明
- set
- get
- delete
- pull
- has
- id
- Cookie类
- 使用说明
- set
- get
- delete
- pull
- has
- TempLets类
- 模板语法
- 模板标签
- html
- show
- assign
- obtain
- Request类
- get
- post
- host
- referer
- getip
- localip
- header
- body
- file
- scheme
- protocolversion
- uri
- path
- querystring
- method
- Response
- SendFile
- FileStream
- SendData
- SetStatus
- SetHead
- SetMime
- WebSend
- redirect
- dumpJson
- dump
- come
- ps
- Frame类
- GetWeb
- ViewFile
- RoutingData
- SetClassFile
- SetClassDir
- GetMime
- FileMime
- LoadDir
- StartDir
- IsJson
- ArrJson
- JsonFormat
- ObStart
- GetConfig
- ConfigDir
- TempDir
- GetRunData
- GetStatic
- IsDebug
- SetDebug
- GetDebugInfo
- GlobalVariables类
- 使用说明
- set
- get
- delete
- pull
- has
- id
- Mysql类
- 新版本
- 第三方
- Thinkorm
- Medoo
- 旧版本
- Mysql 配置格式
- 项目中操作数据库
- 项目场景
- 项目数据库配置
- 项目数据库中间类
- 项目中操作数据表
- 连贯操作
- where
- table
- data
- order
- field
- limit
- page
- group
- having
- join
- tabname
- union
- sql
- link
- link_base
- lock
- CURD 操作
- 写入数据
- 数据删除
- 数据查询
- 数据更新
- 数据统计操作
- count
- sum
- max
- min
- avg
- 操作DEMO
- CurdTrait.php
- 项目Model层操作表.md
- Curl类
- Method类
- SslAes类
- layui_zqadmin