UNION 子句用于合并多个 SELECT 子句的分析结果。本文介绍 UNION 子句的语法格式和示例。
UNION 子句的语法格式如下:
SELECT Key1 FROM Table1 UNION [ALL] SELECT Key2 FROM Table2
说明
参数说明如下:
参数 | 说明 |
---|---|
ALL | 如果 SELECT 结果中存在重复的行,UNION 子句默认去重,即仅保留其中一行。如果需要保留所有的重复行,可以使用 |
Key | 日志字段、表达式。其中:
|
Table | 日志主题,格式为 |
场景
统计两个服务的状态值。查询日志项目 test-log
下日志主题 open_api
和 web_api
中的 status
字段,并且合并为一列返回。如果存在重复的 status
字段值,只返回其中一个。
检索分析语句
* | SELECT status FROM "test-log.open_api" GROUP BY status UNION SELECT status FROM "test-log.web_api" GROUP BY status
检索分析结果
场景
统计两种日志的级别。查询日志项目 test-log
下日志主题 open_api
和 web_api
中的 level
字段,并且合并为一列返回,返回结果中包含重复值。
SQL 语句:
* | SELECT level FROM "test-log.open_api" GROUP BY level UNION ALL SELECT level FROM "test-log.web_api" GROUP BY level
返回结果:
场景
查询日志项目 test-log
下日志主题 open_api
和 web_api
中的 ReqSize
字段,并且将该字段的前三个值合并为一列返回。
SQL 语句:
* | SELECT * FROM (SELECT ReqSize FROM "test-log.open_api" LIMIT 3) UNION (SELECT ReqSize FROM "test-log.web_api" LIMIT 3)
返回结果: