截至目前,我知道有一个开放功能请求来添加月份/年份到time_bucket函数中。
我的问题是,现在实现这个的最佳方法是什么。 这个问题提到了date_trunc。
以下是两种方法:
我的问题是,现在实现这个的最佳方法是什么。 这个问题提到了date_trunc。
以下是两种方法:
timescaledb的time_bucket
SELECT time_bucket('1 week', timestamp) AS "one_week",
count(*) AS "count",
first(value, timestamp) AS "first",
last(value, timestamp) AS "last"
FROM "event" "event"
WHERE event."signalId" = $1
GROUP BY one_week
ORDER BY one_week DESC
postgres date_trunc
SELECT date_trunc('month', timestamp) AS "one_month",
count(*) AS "count",
first(value, timestamp) AS "first",
last(value, timestamp) AS "last"
FROM "event" "event"
WHERE event."signalId" = $1
GROUP BY one_month
ORDER BY one_month DESC
这两个都能正常工作(虽然我没有进行任何性能测试)。
我想要实现:
- (a)填补间隙(例如timescaledb的time_bucket_gapfill),以及
- (b)向前填充最后一个值(locf)
如何最好地实现这一点?
谢谢!