숫자가 들어있는 테이블이 1 ~ 1000 범위에 있지만 고유 한 값을 갖지만 Oracle SQL을 사용하여 테이블에서 1 ~ 1000 범위에 누락 된 숫자를 식별해야합니다 ,오라클 SQL의 범위는 1 ~ 1000
1,3,4,5,6,8,9,10
결과 2,7
사람이 스크립트에 스크립트 또는 URL에 도움이 수 없습니다.?
숫자가 들어있는 테이블이 1 ~ 1000 범위에 있지만 고유 한 값을 갖지만 Oracle SQL을 사용하여 테이블에서 1 ~ 1000 범위에 누락 된 숫자를 식별해야합니다 ,오라클 SQL의 범위는 1 ~ 1000
1,3,4,5,6,8,9,10
결과 2,7
사람이 스크립트에 스크립트 또는 URL에 도움이 수 없습니다.?
당신은 사용할 수 있습니다
select level from dual
connect by level<=1000
minus
select mycolumn from mytable
편집 :
숫자는 하드 코드 된 1000없이 순서에서 누락되는 찾으려면 :
select level from dual
connect by level < (select max(mycolumn) from mytable)
minus
select mycolumn from mytable
+1입니다. 좋은 아이디어 –
이것은 내가 감사 할 필요가있는 것입니다. – icecurtain
시도 :
select a.check_number
from (select level check_number from dual connect by level <= 1000) a
where not exists
(select null from myTable t where a.check_number = t.lookup_number)
with numbers as (
select level as i
from dual
connect by level <= (select max(some_number) from your_table)
)
select nr.i as missing
from numbers nr
left join your_table yt on yt.some_number = nr.i
where yt.some_number is null;
11, 12 등은 어떨까요? 그들이 빠진 것도 아닌가? –
카운트가 아직 높지는 않지만 최대 값 (SheetNo)을 사용할 수 있습니다. 마이너스에 대해서는 – icecurtain