order by 조회 쿼리 질문 도와주세요 ㅠㅠ 0 2 178

by 말창 [SQL Query] 오더바이 정렬 order by [2018.05.14 14:18:40]


안녕하세요 초보 개발자입니다.

조회 쿼리 정렬에 관한 질문인데요 테이블 데이터는 아래와 같습니다.

테이블 데이터

COL1 COL2
DW001

DL006

DW002 DL007
DW003 DL003
DW004 DL004
DW005 DL003
DW006 DL005
DW007 DL001
DW008 DL002
DW009 DL005

위의 데이터를 조회할때 정렬을 COL1기준으로 정렬하되 COL2번에 동일한 데이터가 있으면 

아래 표처럼 먼저 조회되도록 만들고 싶습니다.

무슨 방법이 있을까요..ㅠㅠ

원하는 결과값

COL1 COL2
DW001 DL006
DW002 DL007
DW003 DL003
DW005 DL003
DW004 DL004
DW006 DL005
DW009 DL005
DW007 DL001
DW008 DL002

 

by 마농 [2018.05.14 15:32:02]
WITH t AS
(
SELECT 'DW001' col1, 'DL006' col2 FROM dual
UNION ALL SELECT 'DW002', 'DL007' FROM dual
UNION ALL SELECT 'DW003', 'DL003' FROM dual
UNION ALL SELECT 'DW004', 'DL004' FROM dual
UNION ALL SELECT 'DW005', 'DL003' FROM dual
UNION ALL SELECT 'DW006', 'DL005' FROM dual
UNION ALL SELECT 'DW007', 'DL001' FROM dual
UNION ALL SELECT 'DW008', 'DL002' FROM dual
UNION ALL SELECT 'DW009', 'DL005' FROM dual
)
SELECT *
  FROM t
 ORDER BY MIN(col1) OVER(PARTITION BY col2), col1
;

 


by 말창 [2018.05.14 15:53:01]

이리 간단히 해결해주시다니ㅠ 감사합니다 마농님~!!

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