一段时间以来我一直在努力寻找答案。让我尝试迭代这个问题。我有一个名为mytable的表:(note:below table 只是一个大表的一小部分(有数千行)
timestamp_original data
2020/05/24 15.30.31.620 0
2020/05/24 15.30.31.649 1
2020/05/24 15.30.31.658 2
2020/05/24 15.30.31.668 3
2020/05/24 15.30.31.688 4
2020/05/24 15.30.31.698 5
2020/05/24 15.30.31.708 6
2020/05/24 15.30.31.738 7
2020/05/24 15.30.31.748 8
2020/05/24 15.30.31.758 9
2020/05/24 15.30.31.768 10
2020/05/24 15.30.31.809 11
2020/05/24 15.30.31.810 12
2020/05/24 15.30.31.812 13
2020/05/24 15.30.31.838 14
2020/05/24 15.30.31.848 15
我的期望是得到每毫秒之间的平均数据,同时将毫秒舍入到10秒。
timestamp_new myData
2020/05/24 15.30.31.6 2.5
2020/05/24 15.30.31.7 8
2020/05/24 15.30.31.8 13
我的代码如下:
SELECT date_trunc('milliseconds','timestamp_original')::timestamp(1) as timestamp_new,
avg(data) as myData
FROM myTable
GROUP BY 1 ORDER BY timestamp_new;
但我得到的输出如下,这没有任何意义
timestamp_new myData
2020/05/24 15.30.31.6 0.5
2020/05/24 15.30.31.7 5
2020/05/24 15.30.31.8 12
请帮帮我。
1条答案
按热度按时间kxeu7u2r1#
转换为
timestamp(1)
舍入而不是截断。一个简单的解决方案是减去50毫秒:这是一把小提琴。