选择返回最大值,最小值和平均值

时间:2016-05-12 20:41:47

标签: rethinkdb rethinkdb-python

我是RethinkDB的新手,需要通过对“id”进行分组来返回min,max和avg的“value”,这是我的Json的一个例子:

{
  "mycontent": [
    {
      "id": "000000000011",
      "value": "300"
    },
    {
      "id": "000000000012",
      "value": "500"
    },
    {
      "id": "000000000011",
      "value": "700"
    },
    {
      "id": "000000000013",
      "value": "200"
    },
    {
      "id": "000000000011",
      "value": "950"
    },
    {
      "id": "000000000012",
      "value": "150"
    }
  ]
}

我发现使用RethinkDB逻辑了解如何做到这一点有些问题。 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以使用()通过ID获取mycontentgroup的值。一个问题是您的数据是字符串,因此您需要转换为avg的数字才能工作。

类似的东西:

r.expr({
  "mycontent": [
    {
      "id": "000000000011",
      "value": "300"
    },
    {
      "id": "000000000012",
      "value": "500"
    },
    {
      "id": "000000000011",
      "value": "700"
    },
    {
      "id": "000000000013",
      "value": "200"
    },
    {
      "id": "000000000011",
      "value": "950"
    },
    {
      "id": "000000000012",
      "value": "150"
    }
  ]
})('mycontent')
  .merge({value: r.row('value').coerceTo('number')})
  .group('id')
  .avg('value')