2016-10-26 6 views
1

단일 쿼리에서 노드의 속성에 따라 오름차순 또는 내림차순 중에서 선택할 수있는 방법이 있습니까?Neo4J Cypher 정렬 값 내림차순 또는 오름차순

두 개의 노드 유형 A와 B가 있다고 가정 해 봅시다. A에는 B의 정렬 방법을 지정하는 속성이 있습니다.

MATCH (a:A)-[:has]->(b:B) 
WHERE a.id=1 
ORDER BY b.name ----- (I'd like to order ascending if a.asc is true or descending if false) 

답변

2

당신은 단일 쿼리에 여러 하위 쿼리를 결합 할 수 있습니다 UNION 사용할 수 있습니다 : "그것은 모든 쿼리에 속하는 모든 행을 포함하는 하나의 결과 집합에 두 개 이상의 쿼리의 결과를 결합을 노조."

이 경우 a.prop의 값에 따라 오름차순 또는 내림차순으로 정렬합니다.

MATCH (a:A)-[:has]->(b:B) 
WHERE a.prop = "x" 
RETURN b 
ORDER BY b.name ASC 
UNION 
MATCH (a:A)-[:has]->(b:B) 
WHERE a.prop <> "x" 
RETURN b 
ORDER BY b.name DESC 
관련 문제