使用TimescaleDB以更大整数的时间间隔计算平均值

贾尼

我有一个具有以下字段的架构:

       Name of row          |   Type    
  --------------------------+--------
  name                      | string
  value1                    | numeric
  timestamp                 | bigint

这些行包含具有名称,数字值和bigint值的条目,这些值以纳秒为单位存储unix时间戳。使用TimescaleDB,我想使用它time_buckets_gapfill来检索数据。鉴于时间戳记存储在bigint中,因此非常麻烦。

我想获取以下时间间隔的汇总数据:5分钟,小时,天,周,月,季度,年。我设法使它可以使用normal来工作time_buckets,但是现在我也想填补空白。我现在使用以下查询:

SELECT COALESCE(COUNT(*), 0), COALESCE(SUM(value1), 0), time_bucket_gapfill('5 min', date_trunc('quarter', to_timestamp(timestamp/1000000000)), to_timestamp(1599100000), to_timestamp(1599300000)) AS bucket
FROM playground
WHERE name = 'test' AND timestamp >= 1599100000000000000 AND timestamp <= 1599300000000000000
GROUP BY bucket
ORDER BY bucket ASC

这将正确返回值,但不会填充空白。如果我将查询修改为

time_bucket_gapfill('5 min', 
                    date_trunc('quarter', 
                               to_timestamp(timestamp/1000000000), 
                               to_timestamp(1599100000), 
                               to_timestamp(1599200000))

我会正确地获得第一个条目,然后每5分钟清空一行。我该如何运作?谢谢!

是一个数据库小提琴,但是它不支持TimeScaleDB,因此无法正常工作。上面的查询返回以下内容:

  coalesce |       coalesce       |         avg_val
------------------------+-------------------------
     3     |          300         |  2020-07-01 00:00:00+00
     0     |           0          |  2020-09-03 02:25:00+00   
     0     |           0          |  2020-09-03 02:30:00+00
斯文·克莱姆

您应该在time_bucket_gapfill中使用与表中的数据类型匹配的数据类型。以下查询将为您提供所需的信息:

SELECT
  COALESCE(count(*), 0),
  COALESCE(SUM(value1), 0),
  time_bucket_gapfill(300E9::BIGINT, timestamp) AS bucket
FROM
  t
WHERE
  name = 'example'
  AND timestamp >= 1599100000000000000
  AND timestamp < 1599200000000000000
GROUP BY
  bucket;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用TimescaleDB以更大整数的时间间隔计算平均值

来自分类Dev

计算并绘制时间间隔平均值

来自分类Dev

根据时间间隔分组计算平均值

来自分类Dev

使用Pandas DataFrame在过去的时间间隔内连续计算平均值

来自分类Dev

计算变量中间隔的平均值

来自分类Dev

Mongo中时间间隔的平均值

来自分类Dev

对mysql的时间间隔取平均值

来自分类Dev

解析整数后计算平均值

来自分类Dev

计算和格式化时间间隔的平均值和平方

来自分类Dev

熊猫-计算时间戳的平均值

来自分类Dev

计算时间串的平均值

来自分类Dev

基于定义的时间间隔 (bin) 的时间序列平均值

来自分类Dev

无论哪种类型的值(整数,时间戳等),都可以动态计算平均值

来自分类Dev

从固定间隔的系列计算平均值

来自分类Dev

按时间间隔创建每月平均值

来自分类Dev

间隔不相等的时间序列的移动平均值

来自分类Dev

以不规则的时间间隔取平均值

来自分类Dev

R-计算时间平均值,变量均值(DateTime)

来自分类Dev

计算平均值?

来自分类Dev

使用模板计算向量的平均值

来自分类Dev

使用numpy ndarray计算平均值

来自分类Dev

使用函数计算平均值

来自分类Dev

使用熊猫计算累积平均值

来自分类Dev

使用指针计算图像的平均值

来自分类Dev

使用函数计算平均值

来自分类Dev

使用通配符计算向量的平均值

来自分类Dev

使用 Spark Scala 计算平均值

来自分类Dev

在2小时的时间间隔内计算平均值的最有效方法是什么

来自分类Dev

计算整数的奇数和偶数平均值