SQL 작성 팁
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 SQL 작성 시 필요한 팁[편집]
1.1 동일 데이터 중에 최근건 으로 구분하여 조회 하기[편집]
WITH CPU_METRICS AS (
--- 중복건이 존재
SELECT VALUE
, ROW_NUMBER() OVER (ORDER BY BEGIN_TIME DESC) AS RN -- 순번 지정
FROM V$SYSMETRIC
WHERE METRIC_NAME = 'Host CPU Utilization (%)'
)
-- RN으로 1인경우 2인경우 처리
SELECT TO_CHAR(SYSDATE,'YYYYMMDD HH24:MI:SS') CUR_DATE
, MAX(CASE WHEN RN = 1 THEN VALUE END) * 100 AS CPU_USAGE_AFTER
, MAX(CASE WHEN RN = 2 THEN VALUE END) * 100 AS CPU_USAGE_BEFORE
, (MAX(CASE WHEN RN = 1 THEN VALUE END) - MAX(CASE WHEN RN = 2 THEN VALUE END)) * 100 AS CPU_USAGE_CHANGE
FROM CPU_METRICS
WHERE RN IN (1, 2)
;
1.2 동일한 자료 삭제 방법[편집]
DELETE
FROM EMP E
WHERE E.ROWID > ( SELECT MIN(X.ROWID)
FROM EMP X
WHERE X.EMPNO = E.EMPNO );