gpt4 book ai didi

timescaledb - 使用 time_bucket 并在 timescaledb 中连接多个表

转载 作者:行者123 更新时间:2023-12-05 02:38:08 26 4
gpt4 key购买 nike

我有一个包含几个表的简单数据库架构 (Timescaledb)。每个用户都有一个具有多个指标的主传感器,每个指标都有自己的表,其中包含 user_id 和时间戳。

架构

Table 1

|用户 ID |时间戳 | val1 |瓦尔...|:---- |:------:| -----:| -----:表 ...

<表类="s-表"><头>user_id时间戳val1验证...

问题

我想知道如何使用 time_bucket 函数将这些表合并到一个 View 中。所以,如果我每 10 秒采样一次以显示类似查看

<表类="s-表"><头>user_id时间戳来自表 1 的聚合值来自表 2 的聚合值来自表 X 的聚合值

最佳答案

是的!有可能!

您可以使用常规 SQL 进行尝试。这是一些示例:

select time_bucket('1m', a.time) as bucket_a,
a.symbol || '/' || b.symbol as pair,
LAST(a.price, a.time) as last_price_a,
LAST(b.price, b.time) as last_price_b
FROM ticks a
LEFT JOIN ticks b
ON time_bucket('1m', a.time) = time_bucket('1m', b.time)
AND a.symbol = 'SYMBOL' and b.symbol = 'ANOTHER'
GROUP BY 1, 2;

请注意,我加入表 ticks 两次,您可以加入另一个包含其他指标的表。

另一个细节是,它不是在 where 子句上过滤 symbol,它现在是 JOIN 子句的一部分。

关于timescaledb - 使用 time_bucket 并在 timescaledb 中连接多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69759949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com