在Neo4j中查找具有最大(最小)属性值的节点

时间:2015-08-30 13:40:11

标签: neo4j

我有以下数据库:

CREATE (p1:Product {cost:10, name:'Hrundel'})
CREATE (p2:Product {cost:20, name:'Majora'})
CREATE (p3:Product {cost:30, name:'Elona'})

CREATE (s:Shop {name:'CarsMorpher'})

CREATE s-[:HAS]->(p1)
CREATE s-[:HAS]->(p2)
CREATE s-[:HAS]->(p3)

如何找到价格最低(最高)的产品名称?

1 个答案:

答案 0 :(得分:2)

使用maxmin计算最高和最低,并执行以下操作:

MATCH (p:Product) 
WITH max(p.cost) as highestCost 
MATCH (p2:Product) 
where p2.cost=highestCost 
return p2;

使用WITH,您可以将先前查询的结果与第二个查询链接起来。

另一种做法:

MATCH (p:Product) RETURN p 
ORDER BY p.cost DESC 
LIMIT 1;

所以这只是按价格降序排列,只给你一个(最大)