taosdata / TDengine

TDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.

Home Page:https://tdengine.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于INTERVAL(1w)的周期问题

foow123 opened this issue · comments

我使用INTERVAL(1w)进行一周数据的统计,使用的查询语句如下:
SELECT _wstart , _wend, TWA(pcaomka01ag001ce32a) as pcaomka01ag001ce32a from statistical_data_1h WHERE ts >= "2024-06-03 00:00:00.000" AND ts < "2024-06-10 00:00:00.000" INTERVAL(1w);

我希望得到一个自然周(周一~周日)的记录,然而实际查询数据如下:

结果

这是两条周四到周三的记录!

我查阅了之前的Issue,在https://www.taosdata.com/tdengine-engineering/3278.html找到了相应的解决方法:
SELECT _wstart , _wend, TWA(pcaomka01ag001ce32a) as pcaomka01ag001ce32a from statistical_data_1h WHERE ts >= "2024-06-03 00:00:00.000" AND ts < "2024-06-10 00:00:00.000" INTERVAL(1w, 4d);

现在我的问题是,为什么是4天?为什么TDEngine会把每周四做为一周的起始日?这个参数是否会因为我安装了不同版本的TDEngine或在不同服务器上运行而不同?

这个目前不是自然周,只是按照7天切割的。

可以用offset参数做起始点的偏移,从而得到周一的数据

我知道方法,我想问的其实是原因,为什么是周四而不是周三或周五?这个参数是怎么确定的?能不能修改?以后的TDEngine版本会不会改?

可以用offset参数做起始点的偏移,从而得到周一的数据

我知道方法,我想问的其实是原因,为什么是周四而不是周三或周五?这个参数是怎么确定的?能不能修改?以后的TDEngine版本会不会改?

起始点是utc 时区1970年1月1日的0点时刻,每七天一切,刚好赶到星期四。