gpt4 book ai didi

neo4j - 获取多个总和的最大值

转载 作者:行者123 更新时间:2023-12-02 00:35:06 26 4
gpt4 key购买 nike

我最近开始学习将 neo4j 与 cypher 结合使用,我遇到了一个我无法简单地弄清楚如何去做的任务。

这是我正在处理的相关数据的样子: enter image description here

“COOKS”关系包含一个名为“人气”的属性,它只是蛋糕“受欢迎”程度的数字,每个蛋糕都由厨师(紫色名字)“烹制”。

我的最终目标是返回拥有最受欢迎菜肴的厨师的节点,在我的例子中,这是通过对与任何厨师关联的关系中的所有“受欢迎程度”属性求和,并从中获得最大值来实现的所有的金额。到目前为止,我最好的尝试是:

match (chef:Chef)-[r:COOKS]->(c:Cake) return sum(r.popularity), chef

表格结果对我来说是这样的:

enter image description here

所以现在我只需要获得所有这些总和的最大值,并只返回具有最大“人气”总和的厨师的节点

最佳答案

Dave Bennet 的解决方案略有不同,我们可以收集厨师的受欢迎程度,而不是收集每个厨师的受欢迎程度(因此对于每一行,我们都会有受欢迎程度,然后收集具有特定知名度的厨师),然后订购这些并与所有具有最高独特知名度的厨师排在一起。这应该让你处理领带。

MATCH (chef:Chef)-[r:COOKS]->(c:Cake) 
WITH chef, sum(r.popularity) AS popularity
WITH popularity, collect(chef) as chefs
ORDER BY popularity DESC
LIMIT 1
UNWIND chefs AS chef
RETURN chef, popularity

关于neo4j - 获取多个总和的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50009043/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com