溫馨提示×

Cypher聚合函數如何進行條件聚合

小樊
110
2024-10-31 23:33:31
欄目: 編程語言

在Cypher中,您可以使用聚合函數COLLECT()結合WITH子句和WHERE子句來實現條件聚合

假設您有一個名為Person的節點,其中包含屬性agecity,您想要根據城市對年齡進行條件聚合。您可以使用以下查詢:

MATCH (p:Person)
WITH p.city AS city, COLLECT(p.age) AS ages
WHERE city = 'New York'
RETURN city, ages

在這個查詢中,我們首先使用MATCH子句找到所有的Person節點。然后,我們使用WITH子句將city屬性值和根據城市收集到的年齡列表(ages)傳遞給下一個WITH子句。在第二個WITH子句中,我們使用WHERE子句來過濾出只包含紐約市的數據。最后,我們返回城市和對應的年齡列表。

如果您想要對多個城市進行聚合,可以使用UNION來合并結果:

MATCH (p:Person)
WITH p.city AS city, COLLECT(p.age) AS ages
WHERE city IN ['New York', 'Los Angeles', 'Chicago']
WITH city, ages
RETURN city, ages
UNION
MATCH (p:Person)
WITH p.city AS city, COLLECT(p.age) AS ages
WHERE city = 'Other'
RETURN city, ages

在這個查詢中,我們分別針對紐約市、洛杉磯和芝加哥的城市進行了聚合,然后使用UNION將結果合并在一起。同時,我們還處理了其他城市的情況。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女