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 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

GROUP BY 语法

PDF
聚焦模式
字号
最后更新时间: 2026-01-07 15:32:33
GROUP BY 语法用于结合 聚合函数,根据一个或多个列对分析结果进行分组统计。

语法格式

* | SELECT 列名, 聚合函数 GROUP BY [ 列名 | 别名 | 序号 ]
注意:
在 SQL 语句中,如果您使用了 GROUP BY 语法,则在执行 SELECT 语句时,只能选择 GROUP BY 的列或聚合计算函数,不允许选择非 GROUP BY 的列。例如 * | SELECT status, request_time, COUNT(*) AS PV GROUP BY status 为非法分析语句,因为 request_time 不是 GROUP BY 的列。
GROUP BY 语法支持按照列名、别名或序号进行分组,详细说明如下表所示:
参数
说明
列名
日志字段名称或聚合函数计算结果列,支持单列或多列
别名
按照日志字段或聚合函数计算结果的别名进行分组
序号
某列在 SELECT 语句中的序号(从1开始)。
例如 status 列的序号为1,所以下面两个语句为等同关系。
* | SELECT status, count(*) AS PV GROUP BY status
* | SELECT status, count(*) AS PV GROUP BY 1
聚合函数
GROUP BY 语法常与 MIN、MAX、AVG、SUM、COUNT 等聚合函数搭配使用,更多信息请参见 聚合函数

语法示例

统计不同状态码的访问次数:
* | SELECT status, count(*) AS pv GROUP BY status
按照每分钟的时间粒度,计算 PV:
* |
SELECT
date_trunc(
'minute',
cast(__TIMESTAMP__ as timestamp)
) AS dt,
count(*) AS pv
GROUP BY
dt
ORDER BY
dt
limit
10
__TIMESTAMP__ 字段为日志服务中的保留字段,表示时间列。dt 为 date_trunc('minute', cast(__TIMESTAMP__ as timestamp)) 的别名。date_trunc() 函数的更多信息,请参见 时间截断函数
说明:
limit 10表示最多获取10行结果。如果不使用 LIMIT 语法,则默认获取100行结果。
在索引配置中,当您开启任意字段的统计功能后,日志服务会自动开启 __TIMESTAMP__ 字段的统计功能。
按照5分钟的时间粒度统计 PV 及 UV: 因为 date_trunc() 函数只能按照固定时间间隔统计,可以使用 histogram 函数进行自定义时间间隔统计。
* |
SELECT
histogram(
cast(__TIMESTAMP__ as timestamp),
interval 5 minute
) as dt,
count(*) as pv,
count(
distinct(remote_addr)
) as uv
group by
dt
order by
dt



帮助和支持

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

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

文档反馈