get difference between field values and sum in neo4j

守給你的承諾、 提交于 2019-12-25 02:48:21

问题


How can I get difference between 2 fields: r.rating_val and rw.rating_val and sum of these fields using neo4j query?I really appreciate any help.

MATCH (a:user{id:"1"})-[r:`rating`]->(b),
 (w:user{id:"3"})-[rw:`rating`]->(b)
RETURN DISTINCT b,r.rating_val ,rw.rating_val

回答1:


Just subtract/add them in the return clause

MATCH (a:user{id:"1"})-[r:`rating`]->(b),
 (w:user{id:"3"})-[rw:`rating`]->(b)
RETURN DISTINCT b,
r.rating_val-rw.rating_val as difference,
r.rating_val+rw.rating_val as sum



回答2:


You can also use abs() function for difference.

    MATCH (a:user{id:"1"})-[r:`rating`]->(b),
     (w:user{id:"3"})-[rw:`rating`]->(b)
    RETURN DISTINCT b,
     abs(r.rating_val - rw.rating_val) as difference,
     (r.rating_val + rw.rating_val) as sum


来源:https://stackoverflow.com/questions/30349125/get-difference-between-field-values-and-sum-in-neo4j

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!