database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41467 게시물 읽기
No. 41467
정렬안의 정렬쿼리
작성자
gksalgml(algml)
작성일
2017-10-12 09:14:51ⓒ
2017-10-12 09:16:02ⓜ
조회수
1,032

안녕하세요 쿼리 질문 드립니다.

시퀀스로 정렬을 해야 하는데, 아래와 같이 연속하는 같은 시퀀스가 다중 존재시 컬럼2의 값이 '02' 일 경우가 우선정렬 되어야 합니다.  어렵네요;;

(컬럼2 에는 값이 '00' 과 '02' 두개의 값이 존재함. )

 

 

<변경 전>

seq  컬럼2

1       00

2       00

3       00

4       00

4       02

5       02

5       00

6       00

7       00

8       00

<변경 후>

 

1       00

2       00

3       00

4       02

5       02 

4       00

5       00

6       00

7       00

8       00

 

 

이 글에 대한 댓글이 총 2건 있습니다.

WITH t AS
(
SELECT 1 seq, '00' c2 FROM dual
UNION ALL SELECT 2, '00' FROM dual
UNION ALL SELECT 3, '00' FROM dual
UNION ALL SELECT 4, '00' FROM dual
UNION ALL SELECT 4, '02' FROM dual
UNION ALL SELECT 5, '02' FROM dual
UNION ALL SELECT 5, '00' FROM dual
UNION ALL SELECT 6, '00' FROM dual
UNION ALL SELECT 7, '00' FROM dual
UNION ALL SELECT 8, '00' FROM dual
)
SELECT seq, c2
  FROM (SELECT seq, c2
             , seq - DENSE_RANK() OVER(PARTITION BY cnt ORDER BY seq) gb
          FROM (SELECT seq, c2
                     , COUNT(*) OVER(PARTITION BY seq) cnt
                  FROM t
                )
        )
 ORDER BY MIN(seq) OVER(PARTITION BY gb)
     , c2 DESC, seq
;

마농(manon94)님이 2017-10-12 09:55:12에 작성한 댓글입니다.

 감사합니다 마농님!!! ^^

gksalgml(algml)님이 2017-10-12 10:07:18에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41470순번 만들기... [1]
블루이글
2017-10-19
1160
41469토드 프로그램 패치 원리는 뭔가요? [1]
엑소
2017-10-18
889
41468오라클 RAC 환경에서 리스너 패스워드 설정. 영향없을까요? [1]
유진우
2017-10-16
883
41467정렬안의 정렬쿼리 [2]
gksalgml
2017-10-12
1032
41466안녕하세요... 고민 끝에 질문입니다. [6]
이호수
2017-10-11
1018
41465gorup 질문 입니다. [1]
봉달이
2017-10-10
926
41464데이터 합계 처리 문의 드립니다. [4]
김태경
2017-09-29
1234
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2018 DSN, All rights reserved.
작업시간: 0.068초, 이곳 서비스는
	PostgreSQL v10.4로 자료를 관리합니다