2015-05-26 2761 views
0

在涌入时,我将替换由gps模块给出的时间。这是保存这样1432600783000.带时间戳的搜索时间(以毫秒为单位)influxdb

在Unix纪元时间日期当我尝试在influxdb执行这样的查询:

select * from items where id = '11111111111' and time > 1432080000000s and time < 1432177199000s group by (1d) 

日期14320.8亿: GMT:周三,2015年5月20日00:00: 00 GMT 您的时区:19/5/2015 21:00:00 GMT-3:00

日期1432177199000: GMT:星期四,2015年5月21日二时59分59秒GMT 您的时区:20/5/2015 23:59:59 GMT-3:00

它不返回任何内容,过滤日期的正确方法是什么,例如在两个日期之间带点。

谢谢。

回答

0

我必须要改变之前,将数据发送到查询UTC时间是这样的:

select * from items where id = '11111111111' and time > '2015-05-20 03:00:00' and time < '2015-05-20 03:00:00' + 1d group by time(1d) 

要做到这一点我用JS此刻像这样:

moment.utc(date).format('YYYY-MM-DD hh:mm:ss') 

然后日期格式2015年5月20日03:00:00发送反射我所在的时区。

1

指定秒作为查询中的精度但提供毫秒时间戳。 1432080000000s意味着14320.8亿在几秒钟内,这是一年47350.

$ date -r 1432080000000 Thu Oct 22 16:00:00 PST 47350

另外的10月22日,你不能没有在SELECT语句的聚合函数执行GROUP BY。要求每日汇总所有积分并且无法将结果汇总为日常价值是毫无意义的。删除GROUP BY子句以返回时间范围内的所有点。 (此外,您的GROUP BY语法不正确,正确的语法是GROUP BY time(1d)。)

您的查询应该是:select * from items where id = '11111111111' and time > 1432080000s and time < 1432177199s

相关问题