日志服务 SELECT 语法

这篇说说腾讯云日志服务SELECT语法,用于从日志主题中检索数据,默认返回100行,最多100万行;同时说明列名规范,非标准字段需用双引号包裹。 SELECT语法:支持省略FROM log,默认取100行数据,需用LIMIT指定更多行数。 列名规范:字段名需符合字母、数字、下划线规则,否则用双引号包裹,冲突时可用AS指定别名。

相关产品
日志服务 产品页,含版本规格、价格与购买入口。

用于从表中选取数据,默认从当前日志主题中获取符合检索条件的数据。

一、语法格式

* | SELECT [列名(KEY)] FROM log

SELECT默认从日志中获取数据,可省略FROM log,简写为* | SELECT [列名(KEY)]

注意:从日志主题中获取数据时,默认最大获取100行数据,如需获取更多数据请使用 LIMIT 语法 指定需要获取的行数,最多可获取100万行。

二、语法示例

从日志数据中选取列(KEY)为remote_addr以及method的值:

* | SELECT remote_addr, method

从日志数据中选取所有列(KEY):

* | SELECT *

SELECT 后面也可以跟算术表达式,如从日志数据中查询下载速度:

下载速度(speed)= 总发送字节数(body_bytes_sent)/ 请求时长(request_time)

* | SELECT body_bytes_sent / request_time AS speed

三、列名规范

在 SQL 规范中,列名须由字母、数字和下划线_组成,且以字母开头,例如remote_addr。日志中字段名称不符合该规范时,需使用双引号""包裹,也可以在 SQL 中使用 AS 语法 为该字段指定别名。字段名称与 SQL 语法关键词冲突时,也需使用双引号""包裹。

日志字段名为remote_addr,符合 SQL 列名规范,可直接使用 select 查询:

* | SELECT remote_addr

日志字段名为__TAG__.pod_label_qcloud-app,不符合 SQL 列名规范,需使用双引号""包裹:

* | SELECT "__TAG__.pod_label_qcloud-app"

日志字段名为__TIMESTAMP__,不符合 SQL 列名规范,需使用双引号""包裹,同时使用 AS 为该字段指定别名:

* | SELECT "__TIMESTAMP__" AS log_time

日志字段名为order,与 ORDER BY 语法 冲突,需使用双引号""包裹:

* | SELECT "order"

赞 (0)
上一篇 4天前
下一篇 4天前