RethinkDB - 如何对聚合时间间隔进行分组
RethinkDB - How to group on aggregated time intervals
我想对动态时间间隔进行分组和平均。类似问题:Grouping into interval of 5 minutes within a time range。
现在,我正在使用查询:
r.db('windMachine').table('stats3')
.between(r.time(2015, 5, 7, 18, 0, 0, "Z"), r.time(2015, 5, 7, 24, 0, 0, "Z"), {index: "date"})
.group([r.row("date").hours(), r.row("date").minutes()])
.avg("TMP0")
哪个returns:
[
{
"group": [
21,
2
],
"reduction": 22.802153846153846
},
{
"group": [
21,
3
],
"reduction": 22.6628
},
{
"group": [
21,
4
],
"reduction": 22.384324324324318
}
]
我想进一步分组,分为 5 分钟(或其他)间隔。执行此操作的最佳方法是什么?
我实际上遇到了类似的问题,这是我所做的:
.group(r.row('date').toEpochTime().sub(r.row('date').toEpochTime().mod(<INTERVAL_IN_SECONDS>))
这样做的目的是按<INTERVAL_IN_SECONDS>
对时间进行分组
我不知道这是否是完成任务的最佳方法,但它对我有用。
我想对动态时间间隔进行分组和平均。类似问题:Grouping into interval of 5 minutes within a time range。
现在,我正在使用查询:
r.db('windMachine').table('stats3')
.between(r.time(2015, 5, 7, 18, 0, 0, "Z"), r.time(2015, 5, 7, 24, 0, 0, "Z"), {index: "date"})
.group([r.row("date").hours(), r.row("date").minutes()])
.avg("TMP0")
哪个returns:
[
{
"group": [
21,
2
],
"reduction": 22.802153846153846
},
{
"group": [
21,
3
],
"reduction": 22.6628
},
{
"group": [
21,
4
],
"reduction": 22.384324324324318
}
]
我想进一步分组,分为 5 分钟(或其他)间隔。执行此操作的最佳方法是什么?
我实际上遇到了类似的问题,这是我所做的:
.group(r.row('date').toEpochTime().sub(r.row('date').toEpochTime().mod(<INTERVAL_IN_SECONDS>))
这样做的目的是按<INTERVAL_IN_SECONDS>
我不知道这是否是完成任务的最佳方法,但它对我有用。