【问题标题】:TimescaleDB GROUP BY of time_bucket in view of view not working鉴于视图不起作用的 time_bucket 的 TimescaleDB GROUP BY
【发布时间】:2021-11-30 02:40:26
【问题描述】:

PostgreSQL:13.4
时标数据库:2.4.2

创建基于现有视图的视图时,我无法按 time_bucket 字段进行分组。 在下面的示例中,您可以在 20:00:00 看到每行三行,这些应该是一排,流量统计。 5 分钟视图按照原始数据的预期执行此操作。

举个例子,这里我统计一个5min time_bucket的流量(图片中省略了无关数据):

与:

CREATE MATERIALIZED VIEW wifi_traffic_5m
WITH (timescaledb.continuous)
AS
    SELECT
        time_bucket('5 minutes', "timestamp") AS bucket_time,
        clientid,
        customer,
        devicecpuid,
        SUM(traffic) AS traffic
    FROM ht_wifi_traffic_processed
    GROUP BY bucket_time, clientid, customer, devicecpuid

现在我想基于 5 分钟视图创建一个 15 分钟视图,但我得到了这样的结果:

与:

CREATE VIEW wifi_traffic_15m
AS
    SELECT
        time_bucket('15 minutes', bucket_time) AS bucket_time,
        clientid,
        customer,
        devicecpuid,
        SUM(traffic) AS traffic
    FROM wifi_traffic_5m
    GROUP BY bucket_time, clientid, customer, devicecpuid

【问题讨论】:

    标签: postgresql timescaledb


    【解决方案1】:

    发布问题后不久,我自己找到了解决方案。 两个视图中时间桶的名称不能相同。

    如果我按如下方式编辑第二个视图:

    CREATE VIEW wifi_traffic_15m
    AS
        SELECT
            time_bucket('15 minutes', bucket_time) AS new_bucket_time,
            clientid,
            customer,
            devicecpuid,
            SUM(traffic) AS traffic
        FROM wifi_traffic_5m
        GROUP BY new_bucket_time, clientid, customer, devicecpuid
    

    它按预期工作。

    【讨论】:

    • 感谢您更新答案,不胜感激! (透明度:我为 TImescale 工作)
    猜你喜欢
    • 2019-11-01
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 2017-12-23
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多