0

複雑なクエリに問題があります。ここに私のサイファークエリがあります:

params.put("query", "name:*");
ExecutionResult result = engine.execute( "start n=node:groups({query}) 
match n<-[:Members_In]-x 
with n,count(distinct x) as numberOfUsers
where numOfUsers>avg(numOfUsers) 
return  n.name,numOfUsers ", params );

nはグループ名、x は各グループのユーザーです。グループユーザー数の平均を取得し、それを各グループユーザー数と比較するにはどうすればよいですか? グループ ユーザーの平均数を取得し、平均よりも多くのユーザーを含むグループを返すことはできますか? ありがとう。

4

1 に答える 1

2

再起動せずに、同じクエリで平均とカウントを取得できるとは思いません。だからここに私の試みがあります:

start n=node:groups({query}) 
match n<-[:Members_In]-x 
with n, count(distinct x) as cnt
with avg(cnt) as av
start n=node:groups({query}) 
match n<-[:Members_In]-x
with n, av, count(distinct x) as numOfUsers
where numOfUsers > av
return n.name, numOfUsers, av
于 2012-12-09T05:46:28.027 に答える