비어있는 숫자 조회 0 3 963

by 와아아앙 [SQL Query] [2020.11.26 20:33:23]


예를들어 한 컬럼에 값이 

1

2

5

 

이렇게 들어있으면

3

4

가 조회되고

2

6

이 있으면

1

3

4

5

이렇게 조회하는 쿼리를 만들어야 합니다. 무조건 숫자는 1부터 검사

구글링을 해봐야 제가 원하는 방식으로는 안나오는데

어떻게 작성하는게 좋나요??

 

 

 

by pajama [2020.11.26 23:16:58]

원하시는 결과대로 나오기는 한데..^^;

with t as (
select 2 num from dual
union all select 6 from dual
)
select level from dual connect by level <= (select max(num) from t)
minus
select num from t
;


by 와아아앙 [2020.11.27 13:51:33]

네 감사합니다.

근데 대상 테이블에 데이터가 없으면 1이 조회되네요..


by 마농 [2020.12.01 13:09:37]
WITH t AS
(
SELECT 2 num FROM dual
UNION ALL SELECT 6 FROM dual
)
SELECT LEVEL lv
  FROM (SELECT MAX(num) num FROM t)
 WHERE LEVEL <= num    -- 없으면 안나오게
 CONNECT BY LEVEL <= num
 MINUS
SELECT num FROM t
;

 

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