小编Mar*_*tin的帖子

使用AQL在arangodb中进行聚合

我正在使用SUM()聚合函数在arangodb中尝试一个相当基本的任务.

这是一个工作查询,它​​返回正确的数据(虽然尚未汇总):

FOR m IN pkg_spp_RegMem
FILTER m.memberId == "40289"
COLLECT member = m.memberId INTO g
RETURN { "memberId" : member, "amount" : g[*].m[*].items }
Run Code Online (Sandbox Code Playgroud)

这将返回以下结果:

[
  {
    "memberId": "40289",
    "amount": [
      [
        {
          "amount": 50,
          "description": "some description"
        }
      ],
      [
        {
          "amount": 50,
          "description": "some description"
        },
        {
          "amount": 500,
          "description": "some description"
        },
        {
          "amount": 0,
          "description": "some description"
        }
      ],
      [
        {
          "amount": 0,
          "description": "some description"
        },
      ]
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

我使用Collect对结果进行分组,因为给定的memberId可能有多个'RegMem'对象.从查询/结果中可以看出,每个对象都有一个名为"items"的较小对象列表,每个项目都有一个数量和一个描述.

我希望SUM()按成员金额.但是,像这样调整查询不起作用:

FOR m …
Run Code Online (Sandbox Code Playgroud)

arangodb aql

6
推荐指数
1
解决办法
2082
查看次数

标签 统计

aql ×1

arangodb ×1