Cypher / neo4j:按值求和并生成总计

时间:2014-10-16 09:00:32

标签: neo4j cypher

这是我的示例数据库:http://console.neo4j.org/r/plb1ez

它包含2个类别,其名称为“数码相机”,使用此查询,我按名称对它们进行分组,并为每个类别名称返回显着性* view_count:
MATCH a
WHERE a.metatype = "Category"
RETURN DISTINCT a.categoryName, SUM(a.significance * a.view_count) AS popularity

然而,我真正需要的不是绝对受欢迎程度(=显着性* view_count),而是相对的 - 所以我需要我的查询另外返回所有流行度的总和(根据我的数学应该是1500),所以我可以为每个类别(人气/ grandTotal)计算分数(我称之为“relativePopularity”)。

期望的结果: | d.categoryName | popularity | grandTotal | relativePopularity |
| Digital Compacts | 300 | 1500 | 0.2 |
| Hand-held Camcorders | 300 | 1500 | 0.2 |
| Digital SLR | 150 | 1500 | 0.1 |
| Digital Cameras | 750 | 1500 | 0.5 |
+----------------------+------------+------------+--------------------+

目前我正在使用两个同步作业进行此计算,但我需要一次性完成。

感谢您的帮助!

0 个答案:

没有答案