1

我是 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'

任何人都可以帮忙吗?

4

1 回答 1

0

我不懂 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(),
      }
  })
于 2016-05-17T04:52:36.540 回答