2017-04-01 8 views
1

私はneo4jに取り組んでいます。私のアプリケーションはファミリーツリーです。私は家族の中で最も古い人の名前と年齢を返したい。neo4jで最大の(年齢)の人の情報を返すにはどうすればいいですか?

私は木の上で、最大の年齢を確認するには、このサイファークエリを使用:

MATCH(N)MAX(n.age)で、年齢・リターン・年齢など。

ここで、n.nameとn.ageを取得したいのですが、どうすればよいかわかりません。

誰でもお手伝いできますか?この問題を解決するために

答えて

1

、あなたは年齢の高い順にノードをソートし、最初の位置取る必要があります:私たちは同じ年齢の人を持っている場合

MATCH (n) 
RETURN n.name, n.age 
     ORDER BY P.age DESC // Sorting in decreasing order 
     LIMIT 1    // Return the first node in the sequence 

しかし、何を?次に、クエリが不完全な情報を返します。

だから、解決策が最大の年齢を計算して、プロパティ年齢がこの値に等しくなっているすべてのノード返すようになります:ところで

MATCH (n) 
WITH MAX(n.age) as maxAge 
MATCH (n) WHERE n.age = maxAge 
RETURN n.name, maxAge 

を、それはあなたが歳を保つことを奇妙です人。出生日を守ることをお勧めします。出生日が正確にわからない場合は、出生年またはおおよその出生年数を保管してください。

+0

ありがとうございます。それは役に立ちました。それはうまく働いて、私が探しているものを返します。 – ABD

関連する問題