3
に平坦化されるように、このクエリは動作します:サブクエリの結果は二つの別々のアレイ
FOR person IN 1..1 INBOUND @companyID employed_by
LET age = DATE_DIFF(person.age * 1000, @currentTime * 1000, 'y')
COLLECT label = age WITH COUNT INTO value
RETURN {data: label, frequency: value}
を、私にこれを与える:
[
{
data: 18,
frequency: 69
},
{
data: 19,
frequency: 73
},
{
data: 20,
frequency: 86
}
]
しかし、私が本当にしたいことは、この
ようなものです私は次のクエリが動作することを期待していましたが、PUSH文が失敗しました(構文エラー)、私はP私は絶対に精神
LET data = []
LET frequency = []
LET temp =
(
FOR person IN 1..1 INBOUND @companyID employed_by
LET age = DATE_DIFF(person.age * 1000, @currentTime * 1000, 'y')
COLLECT label = age WITH COUNT INTO value
data = PUSH(data, label)
frequency = PUSH(frequency, value)
RETURN true
)
RETURN {data: data, frequency: frequency}
何かをやっている暗示するUSHループFOR内のステートメントが、私は期待してそれらを動作させることはできませんが、何かアドバイスは素晴らしいことです!
あなたは、賞賛をそれを考え出しました! PUSHに関する注記:要素を追加することはできますが、既存の変数を再定義することはできません。試したのは変数 'data'と' frequency'(複数回)を変更することです。副作用なし)。 AQLは完全なプログラミング言語ではなく、これは意図的なものです.AQLの本質的な制限のために、クエリを多く最適化することができます。サブクエリを使用して、通常は純粋なAQLソリューションがあります。 – CoDEmanX
あなたの問題への回答が既に見つかっているので、あなたの答えに合格とマークすることはできますか? ;-) – dothebart