메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

SQL 작성 팁

DB CAFE

SQL 작성 시 필요한 팁

동일 데이터 중에 최근건 으로 구분하여 조회 하기

    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)    
;

동일한 자료 삭제 방법

DELETE
  FROM EMP E   
 WHERE E.ROWID > ( SELECT MIN(X.ROWID)   
                 FROM EMP X   
                    WHERE  X.EMPNO = E.EMPNO );