我试图在以下示例中找到百分比
START n=node:name_idx(NAME="ABC")
match p = n-[r1:LIKES]->m
with r1.Frequency as Frequency, Sum(r1.Frequency) as Sum
return Frequency, Sum
我希望得到像这样的东西
Frequency Sum
12 19
6 19
1 19
等等。
我得到的是频率和总和列中的相同值
Frequency Sum
12 12
6 6
1 1
有关如何获得正确分发的任何建议吗?我的最终目标是通过划分返回行的频率/总和来找出百分比。谢谢
答案 0 :(得分:6)
这个怎么样(我偷了Luanne的控制台图):
http://console.neo4j.org/r/3axtkq
START n=node:node_auto_index(name="a")
MATCH n-[r1:LIKES]->m
WITH sum(r1.frequency) AS total, n // we want the total... of all frequencies for n
MATCH n-[r1:LIKES]->m // we need to get the likes again, because those can't be passed in with and get the total of all at the same time
RETURN r1.frequency, total, r1.frequency/(total*1.0) // it does integer math unless you force one to be a float
答案 1 :(得分:2)
查看http://console.neo4j.org/r/voavd2
数据是:
START n=node(1)
MATCH n-[r1:LIKES]->m
RETURN r1,m
您的查询返回:
START n=node(1)
MATCH n-[r1:LIKES]->m
WITH r1.frequency AS Frequency, Sum(r1.frequency) AS Sum
RETURN Frequency, Sum
即。按频率分组,该值的所有频率之和是多少。
这是你想要得到的吗?