You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Trino中按5分钟间隔对日期数据做聚合统计

在Trino中按5分钟时间间隔聚合统计数据

原始数据表

timestampstream_id
2021-01-01 12:30:29.928123
2021-01-01 01:30:29.928124
2021-01-01 05:30:29.928223
2021-01-01 01:23:29.928134

预期输出

daytimestampcount(stream_id)
2021-01-0112:005
2021-01-0112:0518
2021-01-0112:1039
2021-01-0112:2090
2021-01-0112:2545
2021-01-0112:3076
2021-01-0112:3593

实现SQL

SELECT
    DATE(timestamp) AS day,
    TO_CHAR(DATE_TRUNC('5 minutes', timestamp), 'HH24:MI') AS timestamp,
    COUNT(stream_id) AS "count(stream_id)"
FROM
    your_table_name
GROUP BY
    DATE(timestamp),
    DATE_TRUNC('5 minutes', timestamp)
ORDER BY
    day,
    DATE_TRUNC('5 minutes', timestamp);

语句说明

  • DATE(timestamp):提取时间字段的日期部分,生成day列。
  • DATE_TRUNC('5 minutes', timestamp):将时间截断到最近的5分钟间隔(例如12:32会被调整为12:30)。
  • TO_CHAR(..., 'HH24:MI'):把截断后的时间格式化为时分形式,匹配预期输出的timestamp列格式。
  • COUNT(stream_id):统计每个5分钟间隔内的stream_id数量。
  • 分组与排序:按日期和截断后的时间分组,确保结果按时间顺序排列。

内容的提问来源于stack exchange,提问作者Akansha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:25:21