그룹 정렬 쿼리 좀 부탁드립니다. 0 4 814

by 경상도곰남 [MySQL] [2016.11.17 10:21:32]


위의 데이터를 아래와 같은 결과값으로 나타나게 할려면 어떻게 해야 하나요?

고수님들의 답변 부탁드립니다.

 

고유번호    메뉴명        부모ID  정렬
1             menu1         0         1
2             menu2         0         2
3             menu3         0         3
4             menu1-1      1       11
5             menu1-2      1       12
6             menu2-1      2       21
7             menu2-2      2      22
8             menu3-1      3      31
9             menu3-2      3      32

 

결과

1    menu1           0    1
4    menu1-1        1    11
5    menu1-2        1    12
2    menu2           0    2
6    menu2-1        2    21
7    menu2-2        2    22
3    menu3           0    3
8    menu3-1        3    31
9    menu3-2        3    32

 

by 랑에1 [2016.11.17 10:38:10]

그냥 메뉴명으로 정렬하면 되지 않나요?


by 망고스틴 [2016.11.17 12:02:06]

재귀쿼리를 쓰면 될듯 합니다.

아래 쿼리를 조금 바꿔서 적용해보세요. 원하시는 결과를 얻으실듯요..

 

SELECT ORG_ID
           , ORG_NM
           , PARENT_ID
           , PRIOR ORG_ID PARENT_ID
           , SUBSTR(SYS_CONNECT_BY_PATH(ORG_NM, ' > '), 2) ORG_NM_FULL
   FROM TORGN
CONNECT BY PRIOR ORG_ID = PARENT_ID
   ORDER SIBLINGS BY ORG_ID


by jkson [2016.11.17 12:09:01]
with t as
(
select '1' no, 'menu1  ' menunm, '0' pid, 1  seq from dual union all
select '2' no, 'menu2  ' menunm, '0' pid, 2  seq from dual union all
select '3' no, 'menu3  ' menunm, '0' pid, 3  seq from dual union all
select '4' no, 'menu1-1' menunm, '1' pid, 11 seq from dual union all
select '5' no, 'menu1-2' menunm, '1' pid, 12 seq from dual union all
select '6' no, 'menu2-1' menunm, '2' pid, 21 seq from dual union all
select '7' no, 'menu2-2' menunm, '2' pid, 22 seq from dual union all
select '8' no, 'menu3-1' menunm, '3' pid, 31 seq from dual union all
select '9' no, 'menu3-2' menunm, '3' pid, 32 seq from dual
)
select * 
  from t
 start with pid = '0'
connect by prior no = pid
order siblings by seq

pid가 참조하는 값이 no인가요? 그렇다면 위의 쿼리대로 해보세요.

 


by 우리집아찌 [2016.11.17 13:38:41]

order by to_char(정렬)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입