HAVING子句用于指定过滤分组结果(GROUP BY)或聚合计算结果的条件。
语法
HAVING bool_expression
重要
-
HAVING子句用于过滤分组结果或聚合计算结果,WHERE子句用于在聚合计算之前过滤原始数据。
-
HAVING子句的过滤操作发生在分组(GROUP BY)之后,排序(ORDER BY)之前。
参数说明
|
参数 |
说明 |
|
bool_expression |
布尔表达式。 |
示例
-
示例1:返回平均请求时长大于40秒的请求地址。
-
查询和分析语句
* | SELECT avg(request_time) AS avg_time, request_uri GROUP BY request_uri HAVING avg(request_time) > 40 -
查询和分析结果:查询返回结果包含 avg_time 和 request_uri 两个字段,展示平均请求时长大于 40 秒的请求地址及其对应的平均请求时长。
-
-
示例2:通过服务日志中查询Project的写入情况,返回写入延时大于1000微秒的Project。
-
查询和分析语句
* | SELECT avg(latency) AS avg_latency, Project GROUP BY Project HAVING avg_latency > 1000 -
查询和分析结果。查询返回一条结果:avg_latency 为
1569.909090909091,Project 为对应项目名称,表明该项目平均延迟大于 1000。
-