我是 Reql 的新手,我正在试图弄清楚如何将我的简单 Sql 请求转换为 Reql(我正在使用 python 和 rethinkdb)
Select id, min(value), max(value), avg(value)
From mytable
Group by id
Having timestamp between '2003-12-05T15:01:00.05Z' and '2003-12-05T15:05:00.05Z'
任何人都可以帮忙吗?
我是 Reql 的新手,我正在试图弄清楚如何将我的简单 Sql 请求转换为 Reql(我正在使用 python 和 rethinkdb)
Select id, min(value), max(value), avg(value)
From mytable
Group by id
Having timestamp between '2003-12-05T15:01:00.05Z' and '2003-12-05T15:05:00.05Z'
任何人都可以帮忙吗?
我不懂 Python,所以我用 JavaScript 回答。我认为您可以在仪表板中尝试并轻松转换为 Python。
首先,创建一个索引:
r.table('mytable').indexCreate('timestamp')
使用该索引,我们可以使用between
过滤数据然后像这样分组:
r
.table('mytable')
.between(r.time(2013, 12, 5, 15, 1, 0, 'Z'),
r.time(2013, 12, 5, 15, 5, 0, 'Z'),
{index: 'timestamp'})
.group('id')
.ungroup()
.map(function(doc) {
return
{
id: doc('group'),
min: doc('reduction')('value').min(),
max: doc('reduction')('value').max(),
avg: doc('reduction')('value').avg(),
}
})