最近更新时间:2024.01.22 17:33:41
首次发布时间:2022.12.09 14:20:11
嵌套子查询指将一个 SELECT 语句嵌套在另一个 SELECT 语句中,表示先对原始数据进行 SELECT 统计分析,再基于分析结果进行二次统计分析,适用于相对复杂的分析场景。
限制项 | 说明 |
---|---|
SDK 日志检索 | 通过日志服务 SDK 使用嵌套子查询语法时,不支持日志检索,即不支持在检索结果的基础上进行分析。 检索分析语句中, |
SQL 语句 limit | 嵌套子查询中,外层主句 limit 最大值为1000, 默认值是 100;子句的 limit 最大值为 10000,默认是 10000。 |
语法格式 | 对于 key 以下划线开头或者结尾的字段,需要加反引号(``)使用。例如
|
运算符 |
|
嵌套子查询的语法格式如下:
* | SELECT key FROM (sub_query)
在嵌套子查询中,SELECT 语句中需要指定 FROM 子句。
说明
FROM
,默认分析本日志主题中的数据。()
中。参数说明:
参数 | 说明 |
---|---|
key | 需要从子查询中获取哪些字段进行二次统计分析。 |
subquery | 子查询语句,需被包裹在括号中。 |
示例 SQL 语句:
根据访问日志统计各个版本客户端的用户数,SQL 语句示例如下:
* | SELECT Client,count(*) AS UserNum FROM (SELECT Client,account_id GROUP BY Client,account_id) GROUP BY Client ORDER BY Client
SELECT Client,account_id GROUP BY Client,account_id
表示按照 Client 和 account_id 分组去重。SELECT Client,count(*) AS UserNum FROM
表示对第一层语句的结果再做分组统计,获取各个客户端版本的用户数统计值。查询分析结果 :
Client | UserNum |
---|---|
version_1.0 | 300 |
version_1.1 | 500 |
version_1.2 | 200 |