【问题标题】:Dynamic result columns using Neo4j Cypher使用 Neo4j Cypher 的动态结果列
【发布时间】:2018-06-01 07:39:00
【问题描述】:

我在 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】:

    与 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多