暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

快速上手(二): CnosDB查询

CnosDB 2023-01-18
205


    继Quick Start后我们推出ConsDB的查询用法讲解,爱码士们配合视频食用更佳哦。




Quick Start 2|Query

01
DATE_BIN函数

CnosDB中的DATA_BIN函数可以实现时序数据中常见的查询方式——通过时间分桶进行聚合查询

DATA_BIN函数需要接受三个值,分别是 interval、source、origin;

interval是设置分桶的长度;
source是需要处理的原始字段;
origin是数据开始的起始时间。
    DATE_BIN (interval, source, origin)


    02

    示例数据sea表查询举例

    输入如下语句查询sea表一天的数据,并且按照45分钟进行时间分桶,对数据进行聚合操作,求出温度的平均值。

      SELECT
      DATE_BIN (interval'45 minute', time, TIMESTAMP'2022-01-15T00:00:00') AS Time,
      avg("temperature") AS avg_temperatrue
      FROM
      "sea"
      WHERE
      time >= '2022-01-15T00:00:00'
      AND time <= '2022-01-16T00:00:00'
      AND station = 'LianYunGang'
      GROUP BY
      DATE_BIN (interval'45 minute', time, TIMESTAMP'2022-01-15T00:00:00')
      ORDER BY
      time ASC;
      interval指示了时间分桶的长度:比如45minutes的数据分一个桶,那么所查询的数据就是0分、45分和下一个小时的30分,以此类推;time是需要处理的时间字段;TIMESTAMP是数据的起始时间。WHERE条件限制了只查询LianYunGang一天的数据,同时按分桶进行分组聚合,最后按时间对数据进行正序排序。

      以下是指令运行结果:



      03

      示例数据wind表查询举例

      输入如下语句查询wind表中XiaoMaidao一个月的平均风力。
        SELECT
        DATE_BIN (interval'1 day', time, TIMESTAMP'2022-01-15T00:00:00') AS Time,
        avg("speed") AS avg_speed
        FROM
        "wind"
        WHERE
        time >= '2022-01-15T00:00:00'
        AND time <= '2022-01-16T00:00:00'
        AND station = 'XiaoMaiDao'
        GROUP BY
        DATE_BIN (interval'1 day', time, TIMESTAMP'2022-01-15T00:00:00')
        ORDER BY
            time ASC;
        查询一个月的数据,按照1天的时间长度进行分桶,并聚合查询平均值。
        以下是指令运行结果:




        以上就是CnosDB中按时间聚合数据的SQL写法。恭喜爱码士们又get了新的查询方法哦!

        接下来的Quick Start又将带给大家什么内容呢?各位敬请期待吧~









        🚪由此下方【阅读原文】即可传送CnosDB开源社区🔜🎟 各位爱码士🧙‍♂️尽情享受开源世界吧

        文章转载自CnosDB,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论