我想在我的 arangoDB (2.3.1) 实例上执行 AQL 查询,以计算两个平均值 ( average_value ) 之间的增量(res可能是另一个子查询结果):
LET last = (FOR r in res
FILTER DATE_MONTH(r.date) == 1 AND DATE_YEAR(r.date) == 2015
COLLECT name = r.name INTO g
RETURN {"name":name,"average_value":AVERAGE(g[*].r[*].value)}
)
LET current = (FOR r in res
FILTER DATE_MONTH(r.date) == 2 AND DATE_YEAR(r.date) == 2015
COLLECT name = r.name INTO g
RETURN {"name":name,"average_value":AVERAGE(g[*].r[*].value)}
)
FOR l IN last
FOR c IN current
FILTER c.name == l.name
RETURN {"name":c.name,"delta":c.average_value-l.average_value}
但即使只有
FOR l IN last
RETURN l
我确实得到了“名称”,但“平均值”将为空。这是按设计工作还是如何从子查询中访问聚合值?