我的记录包含以下值:date,hour,value。聚合一整天很容易,我只按日期分组。我的问题是我需要汇总整天的记录和特定的开始/结束时间。例如,当开始时间是上午9点,那么我有记录: - 从星期一上午9点到星期二上午8点(分为一个记录) - 从星期二上午9点到星期三上午8点(分为一个记录) 等等。 谢谢,任何想法。
答案 0 :(得分:2)
我将假设你的小时字段是一个INT,但不管你应该能够适应这个......
GROUP BY
CASE WHEN hour >= 9 THEN date ELSE date - 1 END
这主要是在上午9点之前的任何一小时将其视为前一天的一部分。
答案 1 :(得分:0)
GROUP BY date_trunc('day',date+(hour-9)*interval '1h')
或类似的东西?