我正在学习neo4j,我被要求通过评论找到与用户相关的最常见的企业类别。由于类别实际上并不存在于数据中,而且实际上只有一个企业,我使用了name
。但我的方法并没有给予我想要的结果:
MATCH (u:User {name: "Willie"})-[:WROTE]-(:Review)-[:REVIEWS]-(b:Business)
RETURN b.name, count(b.name)
ORDER BY count(b.name)
LIMIT 1
看起来不对劲的事情:
- 使用count(b.name)两次是否有效?(是否有方法引用变量?)我想确保这不是重新启动计数。
- 我在查名字和人数,但我只想知道名字。
- 有没有更好的聚合方法呢?有没有什么方法可以代替使用类似这样的方法:
MATCH (u:User {name: "Willie"})-[:WROTE]-(:Review)-[:REVIEWS]-(b:Business)
RETURN mode(b.name)
1条答案
按热度按时间rekjcdws1#
您可以将变数用于count(b.name),并使用“WITH”子句只传回名称。