neo4j - 划分Neo4j

标签 neo4j cypher graph-databases

每当我尝试在neo4j中划分某些东西时,我总是得到零。我正在使用以下查询:

MATCH (m:Member)-[:ACTIVITY{issue_d:"16-Jan"}]->(l:Loan)
MATCH (m)-[:ACTIVITY]->(p:Payments)
WHERE l.installment<1000 AND p.total_pymnt>0
RETURN (l.funded_amnt-p.total_pymnt),(l.funded_amnt-p.total_pymnt)/(l.funded_amnt), l.funded_amnt, p.total_pymnt, m.member_id
LIMIT 1000;

我检查以确保我的funded_amnttotal_pymnt的值不会弄乱它们看起来不错的操作:

screenshot - query result

即使我只是这样做:
500/l.funded_amnt 

我仍然为零。我究竟做错了什么?

最佳答案

将分子乘以1.0。

MATCH (m:Member)-[:ACTIVITY {issue_d:"16-Jan"}]->(l:Loan)
MATCH (m)-[:ACTIVITY]->(p:Payments)
WHERE l.installment < 1000 AND p.total_pymnt > 0
RETURN (l.funded_amnt - p.total_pymnt), ((l.funded_amnt - p.total_pymnt) * 1.0) / l.funded_amnt, l.funded_amnt, p.total_pymnt, m.member_id
LIMIT 1000;

整数除法会舍弃余数,因此您需要将分子乘以1.0或将其包装在toFloat()中。
RETURN 5 / 12;          // 0
RETURN 5 * 1.0 / 12;    // 0.4166666666666667
RETURN toFloat(5) / 12; // 0.4166666666666667

关于neo4j - 划分Neo4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37599289/

相关文章:

java - Neo4j获取TransactionEventHandler的信息

neo4j - 使用 Cypher 在 Neo4j 中的数十万个节点之间创建三元闭包不起作用

neo4j - 通过关系属性的总和限制 Neo4j 密码查询结果

neo4j - 社交网络图数据库和个人资料信息

neo4j - 在neo4j中创建两个节点之间的多重关系

scala - Neo4j - Cypher 与 Scala-Neo4j API

javascript - 在 Neo4j 中创建 Node 时如何跳过重复 Node

amazon-web-services - AWS Neptune 图形数据库中的遍历顺序保证

neo4j - Cypher中如何获取最近的节点?

java - 如何将 neo4j 节点从一个数据库传递到另一个数据库