tencent cloud

日志服务

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
地域和访问域名
规格与限制
基本概念
购买指南
计费概述
产品定价
按量计费(后付费)
欠费说明
清理日志服务资源
成本优化
常见问题
快速入门
一分钟入门指南
入门指南
使用 Demo 日志快速体验 CLS
操作指南
资源管理
权限管理
日志采集
指标采集
日志存储
指标存储
检索分析(日志主题)
检索分析(指标主题)
仪表盘
数据处理
投递与消费
监控告警
云产品中心
DataSight 独立控制台
历史文档
实践教程
日志采集
检索分析
仪表盘
监控告警
投递和消费
成本优化
开发者指南
通过 iframe 内嵌 CLS(旧方案)
通过 Grafana 使用 CLS
API 文档
History
Introduction
API Category
Making API Requests
Topic Management APIs
Log Set Management APIs
Index APIs
Topic Partition APIs
Machine Group APIs
Collection Configuration APIs
Log APIs
Metric APIs
Alarm Policy APIs
Data Processing APIs
Kafka Protocol Consumption APIs
CKafka Shipping Task APIs
Kafka Data Subscription APIs
COS Shipping Task APIs
SCF Delivery Task APIs
Scheduled SQL Analysis APIs
COS Data Import Task APIs
Data Types
Error Codes
常见问题
健康监测问题解释
采集相关
检索分析相关
其他问题
服务等级协议
CLS 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

同环比函数

PDF
聚焦模式
字号
最后更新时间: 2026-01-07 15:39:44
本文介绍同环比函数的基础语法和示例。
日志服务(Cloud Log Service,CLS)支持如下同环比函数。
函数名称
语句
含义
compare(x,n)
对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。
compare(x,n1,n2,n3...)
对比当前时间周期内的计算结果与n1秒、n2秒、n3秒之前时间周期内的计算结果。

compare 函数

compare 函数用于对比当前时间周期内的计算结果与 n 秒之前时间周期内的计算结果。

语法

对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。
compare(x, n)
对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。
compare(x, n1, n2, n3...)

参数说明

参数
说明
x
参数值为 double 类型或 long 类型。
n
时间窗口,单位为秒。例如3600(1小时)、86400(1天)、604800(1周)、31622400(1年)。

返回值类型

JSON 数组。格式为[当前计算结果,n 秒前的计算结果,当前计算结果与 n 秒前计算结果的比值]。

示例

示例1:计算当前1小时和昨天同时段的网站访问量比值

选择查询和分析的时间范围为近1小时,并执行如下查询和分析语句,其中86400表示当前时间减去86400秒(1天)。
查询和分析语句
* | SELECT compare(PV, 86400) FROM (SELECT count(*) AS PV)
查询和分析结果
[1860,1656,1.1231884057971016]
1860表示当前1小时的网站访问量。
1656表示昨天同时段的网站访问量。
1.1231884057971016表示当前1小时与昨天同时段的网站访问量比值。
如需查询和分析结果为分列显示,则查询和分析语句为:
* |
SELECT compare[1] AS today, compare[2] AS yesterday, compare[3] AS ratio
FROM (
SELECT compare(PV, 86400) AS compare
FROM (
SELECT COUNT(*) AS PV
)
)

示例2:计算今天每5分钟网站访问量变化趋势与昨天同时间段的对比

选择查询和分析的时间范围为今天,并执行如下查询和分析语句,其中86400表示当前时间减去86400秒(1天),current_date 表示今天的日期。
注意:
时间范围不能跨天,因为示例中已经将日志时间裁剪为%H:%i:%s,仅包含时、分、秒,未包含日期,跨天会导致数据统计错误。
查询和分析语句
* |
select concat(cast(current_date as varchar),' ',time) as time,compare[1] as today,compare[2] as yesterday from (
select time,compare(pv, 86400) as compare from (
select time_series(__TIMESTAMP__, '5m', '%H:%i:%s', '0') as time, count(*) as pv group by time limit 1000)
limit 1000)
order by time limit 1000
查询和分析结果




帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈