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 41976 게시물 읽기
No. 41976
순번 순위 부여
작성자
감사합니다
작성일
2023-10-21 17:26
조회수
1,230

안녕하세요.

항상 DB 사랑넷에서 도움을 받고 있는 초심자 입니다.


WITH TEMP

(

SELECT 0 AS SEQ, 'Y' AS USE_YN, 'A' AS ID_NM FROM DUAL UNION ALL

SELECT 1 AS SEQ, 'Y' AS USE_YN, 'B' AS ID_NM FROM DUAL UNION ALL

SELECT 2 AS SEQ, 'Y' AS USE_YN, 'C' AS ID_NM FROM DUAL UNION ALL

SELECT 3 AS SEQ, 'Y' AS USE_YN, 'D' AS ID_NM FROM DUAL 

)

SELECT SEQ FROM TEMP

WHERE USE_YN = 'Y'


SEQ 값을 가져오는 건데 제가 궁금한 것은 2번 SEQ가 'N' 으로 되었을 경우 3이 2번으로 가져오고 싶은 것입니다.


RANK를 사용하여 각각 하나의 ROW가 나왔을때는 순번이 정상적으로 나왔으나 

뒤에 조건이 AND ID_NM = 'D' 로 하였을 경우는 순번이 2가 아닌 0 으로 나오게 되는데 저는 'Y' 값만을 가지고 순번을 정하고 싶습니다.


WITH TEMP

(

SELECT 0 AS SEQ, 'Y' AS USE_YN, 'A' AS ID_NM FROM DUAL UNION ALL

SELECT 1 AS SEQ, 'N' AS USE_YN, 'B' AS ID_NM FROM DUAL UNION ALL

SELECT 2 AS SEQ, 'Y' AS USE_YN, 'C' AS ID_NM FROM DUAL UNION ALL

SELECT 3 AS SEQ, 'Y' AS USE_YN, 'D' AS ID_NM FROM DUAL 

)

SELECT SEQ FROM TEMP

WHERE USE_YN = 'Y'

AND 'D' = ID_NM 일 경우 

SEQ가 3이 아니라 2로 나오고 싶습니다.


혹시 해당 쿼리에 대해 아시는 분 계신지 궁금합니다.


미리미리 감사합니다.

 

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

제대로 이해한건지 모르겠습니다만 순번을 별도로 매기는 방식은 어떠신지요?


WITH TEMP AS (

SELECT 0 AS SEQ, 'Y' AS USE_YN, 'A' AS ID_NM FROM DUAL UNION ALL

SELECT 1 AS SEQ, 'N' AS USE_YN, 'B' AS ID_NM FROM DUAL UNION ALL

SELECT 2 AS SEQ, 'Y' AS USE_YN, 'C' AS ID_NM FROM DUAL UNION ALL

SELECT 3 AS SEQ, 'Y' AS USE_YN, 'D' AS ID_NM FROM DUAL 

)

SELECT RN FROM (

SELECT USE_YN, ROW_NUMBER() OVER( PARTITION BY USE_YN ORDER BY SEQ)-1 RN, ID_NM FROM TEMP

)

WHERE USE_YN = 'Y'

AND 'D' = ID_NM 

정상규(pajama)님이 2023-10-21 18:17에 작성한 댓글입니다.

감사합니다. 덕분에 해결했습니다.

쿼리를 한번더 감싸야 한다는 것을 간과했네요. ^^

감사합니다님이 2023-10-23 11:22에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41979DBMS_SCHEDULER 잡 실행주기를 종료하면 바로 실행시킬수 있나요 ? [1]
이규동
2024-01-19
407
41978이력내용을 엑셀로 출력하는 쿼리 문의드립니다 [3]
고래
2023-11-28
962
41977묶음으로 읽기 문의 입니다. [1]
Kwak
2023-11-08
993
41976순번 순위 부여 [2]
감사합니다
2023-10-21
1230
41974L [2]
고길당
2023-09-05
1622
41971row을 컬럼으로 변경하는 쿼리 좀 봐주세요, [3]
서주희
2023-09-01
1607
41970데이타베이스와 테이블이 안보이네요!!! [1]
신승익
2023-08-22
1076
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다