如何对返回的列 Cypher 中的所有值求和?
How to sum all values in a returned column Cypher?
我编写了以下 Cypher 查询。
MATCH (c:Customers {name:'Paul Pogba'})-[:ORDERED]->(o:Orders)-[:BOUGHT]->(i:Items) Return c, i.kit, count(i)
我得到这样的 table 作为我的输出。
╒═════════════════════╤═════════════╤══════════╕
│"c" │"i.kit" │"count(i)"│
╞═════════════════════╪═════════════╪══════════╡
│{"name":"Paul Pogba"}│"bumper" │1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"wing mirror"│1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"bonnet" │1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"boot" │2 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"wheel" │1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"windscreen" │1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"door" │1 │
└─────────────────────┴─────────────┴──────────┘
如何在 neo4j 中使用 Cypher 对“count(i)”列中的所有值求和?
您正在通过 returning c, i.kit, count(i)
强制拆分。图数据库所做的事情绝对有意义。要获得总计 return count(i)
如果您出于某种奇怪的原因想要得到您所要求的结果。
MATCH (c:Customers {name:'Paul Pogba'})-[:ORDERED]->(o:Orders)-[:BOUGHT]->(i:Items)
WITH collect(DISTINCT c) AS _c, collect(DISTINCT i) AS _i, count(i) AS count_i
UNWIND _c AS c
UNWIND _i AS i
RETURN c, i.kit, count_i
我编写了以下 Cypher 查询。
MATCH (c:Customers {name:'Paul Pogba'})-[:ORDERED]->(o:Orders)-[:BOUGHT]->(i:Items) Return c, i.kit, count(i)
我得到这样的 table 作为我的输出。
╒═════════════════════╤═════════════╤══════════╕
│"c" │"i.kit" │"count(i)"│
╞═════════════════════╪═════════════╪══════════╡
│{"name":"Paul Pogba"}│"bumper" │1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"wing mirror"│1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"bonnet" │1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"boot" │2 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"wheel" │1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"windscreen" │1 │
├─────────────────────┼─────────────┼──────────┤
│{"name":"Paul Pogba"}│"door" │1 │
└─────────────────────┴─────────────┴──────────┘
如何在 neo4j 中使用 Cypher 对“count(i)”列中的所有值求和?
您正在通过 returning c, i.kit, count(i)
强制拆分。图数据库所做的事情绝对有意义。要获得总计 return count(i)
如果您出于某种奇怪的原因想要得到您所要求的结果。
MATCH (c:Customers {name:'Paul Pogba'})-[:ORDERED]->(o:Orders)-[:BOUGHT]->(i:Items)
WITH collect(DISTINCT c) AS _c, collect(DISTINCT i) AS _i, count(i) AS count_i
UNWIND _c AS c
UNWIND _i AS i
RETURN c, i.kit, count_i