1

我有一个看起来像这样的图表:

User->Friend->Area 
|             (Which area does this friend live in)
------------->Area<-Friend<-Other users
              (Which area does this user live in)

如果我想找到我没有朋友的所有区域,我会这样做

start user=node(reference)
match user-->friend-->area<-[r?:HAVE_A]-friend<--user
where r is null
return area

效果很好!

但是如何排序结果以便我首先获得用户最多的区域?

4

1 回答 1

2

如果我正确理解您的问题,那么您将返回正确的区域,但希望按用户数量来组织它们。

在这种情况下,您需要一个WITH子句来获取用户、COUNT他们和ORDER BY对它们进行排序:

START user=node(reference)
MATCH user-->friend-->area<-[r?:HAVE_A]-friend<--user
WHERE r is null
WITH area 
MATCH area<--users
RETURN area, COUNT(users) as cnt
ORDER BY cnt DESC
于 2013-09-13T15:15:45.557 回答