使用Neo4j Cypher的动态结果列

问题描述 投票:1回答:1

我在Neo4j图中有以下数据dB: Year Fruit Count 2006 Apple 10 2006 Mango 15 2006 Banana 30 2007 Apple 13 2007 Mango 11 2007 Banana 27 2008 Apple 2 2008 Mango 23 2008 Banana 47

我有兴趣获得以下结果: Year Apple Banana Mango 2006 10 30 15 2007 13 27 11 2008 2 47 23

如何使用Neo4j Cypher查询获得此结果?

neo4j cypher
1个回答
3
投票

与SQL类似,结果列是固定的(除非使用RETURN *)。

你最接近的是创建一个地图并返回地图。

RETURN year, { banana: case fruit when "banana" then count else null end, 
               apple: case fruit when "apple" then count else null end, 
               mango: case fruit when "mango" then count else null end} as data

apoc library你可以概括:

RETURN year, apoc.map.fromPairs(collect([fruit, count])) as data

© www.soinside.com 2019 - 2024. All rights reserved.