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

如何查询SQL按分钟分区后各分组的最大值、最小值等统计指标

按分钟分组统计价格指标的解决方案

基于现有CTE的查询实现

你已经完成了按小时、分钟的分区标记,直接对标记后的结果按日期、小时、分钟分组,调用聚合函数即可得到所需的统计结果,完整代码如下:

with t as (
    select * , extract(hour from t) as h,  extract(minute from t) as m
    from  some_date -- 修正你原代码的表名错误,你创建的表为some_date,而非price
), tt as (
select * , row_number() over(partition by h,m order by t) as t_sequence
from t)
select 
    dt as 统计日期,
    h as 统计小时,
    m as 统计分钟,
    max(price) as 价格最大值,
    min(price) as 价格最小值,
    round(avg(price),2) as 价格平均值,
    count(1) as 分钟内记录总数
from tt
group by dt, h, m
order by dt, h, m;

精简版实现(无需冗余row_number计算)

如果你不需要t_sequence做其他逻辑处理,其实可以跳过row_number的计算,直接分组统计即可,代码更简洁高效:

select 
    dt as 统计日期,
    extract(hour from t) as 统计小时,
    extract(minute from t) as 统计分钟,
    max(price) as 价格最大值,
    min(price) as 价格最小值,
    round(avg(price),2) as 价格平均值,
    count(1) as 分钟内记录总数
from some_date
group by dt, extract(hour from t), extract(minute from t)
order by 统计日期, 统计小时, 统计分钟;

样本数据返回结果说明

执行上述代码后,针对你提供的样本数据会返回2条统计记录:

  • 2021-11-17 06:39分的价格统计值
  • 2021-11-17 06:40分的价格统计值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:06:01