< 오라클 데이터 추출 쿼리 >
*** 지정한 컬럼에 대한 데이터 rank()로 가져오기
조건절에 해당하는 데이터를 group by로 묶어 추출하여
ord1, ord2로 정렬해 rank()로 순서값을 보여주는 쿼리
select * from (
select ord1, ord2
, rank() over(partition by ord1 order by ord1, ord2) num
from TMP_DATA
where tmp_code='CP'
group by ord1, ord2
) where num < 4 -- rank()값이 4보다 작언것만 보여주도록 설정함
;
*** 조건절로 100개 데이터 각각 추출한 데이터를
모두 합쳐서 조회 ( union all)
select * from(
select * from TMP_DATA
where tmp_code='T101'
and rownum <= 100
union all
select * from TMP_DATA
where tmp_code='T102'
and rownum <= 100
union all
select * from TMP_DATA
where tmp_code='T103'
and rownum <= 100
;
*** 일별 조건별 처리된 건수 조회
select
dtm - 요청일
, num -- 전체요청건수
, daN as dataNo -- 데이터 없는 건수
, daC as dataChk -- 데이터 있는 건수
, daD as dataDupl -- 데이터 중복 요청건수
, ( num - daN - daC - daD ) as otherValue -- 처리 안된 건 체크 ( 전체요청 건수 - 데이터 없는 건수 - 중복건수 )
from(
select substr(tmp_dtm, 0,8) dtm
, count(sqnc) num
, sum(decode(tmp_nb, '01', 1, 0)) daN
, sum(decode(tmp_nb, '02', 1, 0)) daC
, sum(decode(tmp_nb, '03', 1, 0)) daD
from TEMP_DATA
group by rollup(substr(tmp_dtm, 0,8))
)
order by dtm desc
;
'Development > Database' 카테고리의 다른 글
[Oracle] order by 절에서 정렬순서 변경 (0) | 2022.06.29 |
---|---|
[Oracle] 오라클 테이블 스페이스별 사용중인 용량 확인 쿼리문(GB, MB단위) (0) | 2022.06.29 |
[Oracle] 오라클 그룹함수 (0) | 2022.06.29 |
[오라클] 테이블스페이스 용량 확인 (0) | 2022.06.23 |
[오라클] 오라클에서 3byte를 차지하는 한글 캐릭터셋 (0) | 2022.06.14 |