PostgreSQL按小时分组

时间:2019-03-02 22:32:32

标签: postgresql group-by sql-timestamp

我敢肯定,这是一个非常简单的问题,但是google现在无法提供帮助。 我有一个字段为“没有时区的时间戳”的表。数据条目跨越多天,因此我想每小时获取其他参数(例如avg(speed))的汇总并按小时分组...所以整个月的平均速度分别为2点,3点,4时...等等。最接近的工作查询是:

SELECT 
avg(data.speed) AS avg_hourly_speed,
max(data.speed) AS max_hourly speed,
min(data.speed) AS min_hourly_speed,
date_part('hour', data.start_time),
date_part('hour', data.end_time),

FROM dat
GROUP BY date_part('hour', data.start_time), date_part('hour',data.end_time), data.start_time,data.end_time;

这将产生必需的聚合,但是每天有24条新记录……我想获取每小时分组的所有日期(天)的聚合。因此,每小时平均最多有1条记录,其中包含平均值。

最后,start_time和end_time总是在点上,因此同时使用它们都是多余的...我只能进行1个分组。

非常感谢

1 个答案:

答案 0 :(得分:0)

请查看我先前对类似问题的回答是否对您有帮助-https://stackoverflow.com/a/53002321/4116955