我的数据集如下:
Name, Timestamp, Period, Value
Apple, 2012-03-22 00:00:00.000, 10, 34
Apple, 2012-03-22 00:06:00.000, 10, 23
Orange, 2012-03-22 00:00:00.000, 5, 3
Orange, 2012-03-22 00:08:00.000, 5, 45
列周期是n分钟数,应按每小时分组。因此,例如,应将苹果分组为1:10,1:20,1:30 Ex,其中橙色为1:05,1:10 ect。我也想平均在每个增量上的值列。
的假设
-
Period
是整数,是60
的除数 - 对于两个行,如果
Name
相同,则Period
是相同的
以下应该做
SELECT
name,
date_trunc('minute', timestamp_column)
- interval '1' minute * (minute(timestamp_column) % period)
AS timestamp_rounded,
avg(value)
FROM ...
GROUP BY 1, 2