1
我目前正在用密码实验一下。我有一个简单的设置组件beeing连接到一个商人由realtionship“销售”有一个财产“价格” (商家 - [:sells {price:10}] - >组件) 我做了一个密码查询,它计算最低的价格,如果你从同一商家购买产品。现在Cypher:group by最便宜的价格
MATCH sup-[s:sells]->component
WITH SUM(s.price) AS total, sup
RETURN sup, total
ORDER BY total ASC
,而这是工作,我有一个问题找到最便宜的价格(S)的情况下,2个或多个供应商束缚。我还想得到这样
_________________________
| price | supplier |
-------------------------
| 60 | conrad |
| | amazon |
-------------------------
东西,你可以在这里查看我的设置: http://console.neo4j.org/?id=wpz165
编辑: 好吧,我找到了一种方法,虽然它很心不是。
MATCH sup-[s:sells]->component
WITH SUM(s.price) AS minprice, sup
ORDER BY minprice
LIMIT 1
MATCH sup2-[s2:sells]->component2
WITH SUM(s2.price) AS total2, sup2, minprice
WHERE total2 = minprice
RETURN minprice, sup2
这是如何工作的?那么第一部分找到最低的价格(通过排序和只返回第一行)。第二部分再次运行整个查询,并筛选出没有最低价格的项目...因此整个查询运行两次。 任何更好的想法?
其实你不需要的第二场比赛第 'MATCH SUP供应商 - [s:sells] - >组件 WITH sup,SUM(s.price)AS price_sum WITH MIN(price_sum)AS price_min MATCH sup2- [s2:sells] - > component2 WITH sup2,SUM(s2.price)AS price_sum2,price_min WHERE price_sum2 = price_min RETURN sup2,price_sum2' – PhilBa
您是否在控制台尝试了密码?当我运行它时,我得不到任何行。可能因为没有price_min。 MATCH sup- [s:sells] - >组件 WITH sup,SUM(s.price)AS price_sum WITH MIN(price_sum)AS price_min RETURN price_min –