阅读量:2
在Cypher中,您可以使用聚合函数COLLECT()结合WITH子句和WHERE子句来实现条件聚合
假设您有一个名为Person的节点,其中包含属性age和city,您想要根据城市对年龄进行条件聚合。您可以使用以下查询:
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将结果合并在一起。同时,我们还处理了其他城市的情况。
以上就是关于“Cypher聚合函数如何进行条件聚合”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm