在 Neo4j 中划分
Dividing in Neo4j
每次我尝试在 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_amnt
和 total_pymnt
的值没有搞乱它们看起来不错的操作:
即使我只是这样做:
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 中划分某些东西时,我总是得到零。我正在使用以下查询:
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_amnt
和 total_pymnt
的值没有搞乱它们看起来不错的操作:
即使我只是这样做:
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