2014-04-10 2 views
0

id, direction, parent_id 필드가있는 테이블이 있습니다.Mysql 왼쪽에서 오른쪽으로 행을 정렬하는 방법

1 row) 1, left, 0 
2 row) 2, right, 1 
3 row) 3, left, 1 
4 row) 4, right, 2 
5 row) 5, left, 2 
6 row) 6, right, 3 
내가 그들 부모 ID에 따라 왼쪽에서 오른쪽으로 주문하려는

, 나는 각 부모에 대한 2 개 행이 의미 :이 개 값 leftright 내가 그들을 이런 식으로 뭔가를하기 위해 할 수있는 방법이 있습니다 : 왼쪽과 오른쪽. 그게 가능하니?

+0

u는 테이블과 www.sqlfiddle.com에서 일부 데이터를 게시 할 수있는 경우의 u는 무엇을 찾고있는 불분명 에 대한. –

답변

0

parent_id 순으로 정렬하고 direction 순으로 정렬 하시겠습니까?

ORDER BY parent_id, direction 
+0

아니요, 예상되는 두 번째 행 *이 3 번째 자리에 표시됩니다. –

0

이 시도 ... 모든 PARENT_ID이 도움이 될 수 2 방향 ...

select direction , parent_id from 
(
    select @a:= @a + 1 as a,direction , parent_id from table t,(select @a := 0) a 
    ORDER BY parent_id , direction 
) a 
order by case when a = 1 then 1 when a%2 = 0 then a + 1 else a-1 end , parent_id 
관련 문제