如何在cypher neo4j中对关系进行分组和统计

问题描述 投票:6回答:1

如何快速计算一个人发布的“帖子”数量,并在密码查询中按人分组?

基本上我有消息标签节点和发布(关系)这些消息的用户。我想计算每个用户发布的消息数量。

它是一组发件人ID消息,并计算每个用户的消息数。

这是我到目前为止所拥有的......

START n=node(*) MATCH (u:User)-[r:Posted]->(m:Message)
RETURN u, r, count(r)
ORDER BY count(r)
LIMIT 10
neo4j cypher
1个回答
10
投票

这个怎么样?

MATCH (u:User)-[r:POSTED]->(m:Message)
RETURN id(u), count(m)
ORDER BY count(m)

您有机会查看当前的参考卡吗?

https://neo4j.com/docs/cypher-refcard/current/

编辑:

假设关系:POSTED仅用于帖子,那么人们可以做这样的事情

MATCH (u:User {name: 'my user'})
RETURN u, size((u)-[:POSTED]->())

这显然更便宜,因为它不会强制遍历实际的Message

© www.soinside.com 2019 - 2024. All rights reserved.