【问题标题】:Neo4j v2. Are aggregate functions usable as assignment (set) values?Neo4j v2。聚合函数是否可用作赋值(设置)值?
【发布时间】:2013-12-03 13:27:11
【问题描述】:

我可以返回一个聚合,例如:

match (u:User)-[:LIKED]->(o:Offer) return count(u) as numLikes

...但我无法从中分配并保留它以提高速度:

match (u:User)-[:LIKED]->(o:Offer) set o.numLikes = count(u)

这是否可能不使用两个单独的语句?

【问题讨论】:

    标签: count neo4j set variable-assignment aggregate


    【解决方案1】:

    你需要使用WITH:

    MATCH (u:User)-[:LIKED]->(o:Offer) 
    WITH o, count(u) AS c 
    SET o.numLikes = c
    

    【讨论】:

    • 谢谢 - 我快到了(!)但在 count() 之前没有包括“o”。
    【解决方案2】:

    您必须先完成聚合,然后才能使用聚合值,您可以使用WITH 执行此操作,类似于

    MATCH (u:User)-[:LIKED]->(o:Offer)
    WITH o, COUNT(u) as numLikes
    SET o.numLikes = numLikes
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多