1. GROUPING SET() - 역할 명시된 컬럼이나 표현식에 따라서 개별 집계를 수행합니다 2. GROUPING SET() - 기본 테이블 ◈ TEST_TABLE_ONE IDX NAME DEPT AMT WKGRD 1 테스트1 test_d1 1000 사장 2 테스트2 test_d1 2000 대리 3 테스트3 test_d2 2000 대리 4 테스트4 test_d2 3000 사원 5 테스트5 test_d2 4000 사원 3. GROUPING SET() - SQL 문장 ◈ SQL 1 2 3 4 5 6 SELECT DEPT ,WKGRD ,SUM(AMT) AS AMT FROM TEST_TABLE_ONE GROUP BY GROUPING SETS(DEPT,WKGRD) ORDER BY DEPT,WKGRD DESC ..
1. GROUPING() - 역할 그룹핑 쿼리에 사용하는 함수로 컬럼 값이 NULL일 경우 1 , NULL이 아닐 경우 0을 반환합니다 2. GROUPING() - 기본 테이블 ◈ TEST_TABLE_ONE IDX NAME ID DEPT AMT 1 테스트1 test1 test_d1 1000 2 테스트2 test2 test_d1 2000 3 테스트3 test3 test_d2 2000 4 테스트4 test4 test_d2 4000 5 테스트5 test5 test_d2 5000 3. GROUPING() - SQL 문장 ◈ SQL 1 2 3 4 5 SELECT DEPT ,SUM(AMT) ,DECODE(GROUPING(NAME),1,'부서합계',NAME) AS NAME FROM TEST_TABLE_ONE GROU..
1. LAG(),LEAD() - 역할LAG- 명시된 값을 기준으로 이전 로우의 값 반환 LEAD- 명시된 값을 기준으로 이후 로우의 값 반환 ◈ 구문형식 LAG( 조건 , 순서, 디폴트) OVER ( PARTITION BY 절) LEAD( 조건 , 순서, 디폴트) OVER ( PARTITION BY 절) 2. LAG(),LEAD() - 기본 테이블◈ TEST_TABLE_ONE IDXNAMEID DEPTAMT 1테스트1test1 test_d11000 2테스트2test2 test_d12000 3테스트3test3 test_d2 2000 4테스트4test4 test_d2 4000 5테스트5test5 test_d2 5000 3. LAG(),LEAD() - SQL 문장◈ SQL 123456SELECT NAME ,A..
1. FIRST_VALUE(),LAST_VALUE() - 역할FIRST_VALUE - 첫 번째 로우의 값을 반환 LAST_VALUE - 마지막 로우의 값을 반환 2. FIRST_VALUE(),LAST_VALUE() - 기본 테이블◈ TEST_TABLE_ONE IDXNAMEID DEPTAMT 1테스트1test1 test_d11000 2테스트2test2 test_d12000 3테스트3test3 test_d2 2000 4테스트4test4 test_d2 4000 5테스트5test5 test_d2 5000 3. FIRST_VALUE(),LAST_VALUE() - SQL 문장◈ SQL 1234567SELECT NAME ,AMT ,FIRST_VALUE(AMT) OVER (ORDER BY ID ROWS BETWEEN ..
1. 윈도우 함수 - 역할전체 그룹에서 일부분을 땐 부분 그룹 혹은 부분 집합에서 더 작은 소그룹 ◈ 구문형식 윈도우 함수 OVER (PARTITION BY 조건1 ORDER BY 조건2 ROWS | RANGE BETWEEN UNBOUNDED PRECEDING | PRECEDING | CURRENT ROW AND UNBOUNDED FOLLOWING | CURRENT ROW) - ROWS : 물리적인 단위의 행집합 - RANGE : 논리적인 주소에 의한 행집합 - UNBOUNDED PRECEDING : 첫 번째 로우 - UNBOUNDED FOLLOWING : 마지막 로우 - CURRENT ROW : 현재 로우 2. 윈도우 함수 - 종류AVGCORRCOVAR_POPCOVAR_SAMPCOUNTFIRST_VAL..
1. WITH_BUCKET() - 역할NTILE 함수처럼 일정한 범위로 분할하는 기능 다른점이 있다면 NTILE함수는 전체 ROW를 대상으로 기준을 잡지만 WIDTH_BUCKET 함수는 최소값과 최대값을 정해놓고 그 안에서 기준을 잡음 ◈ 구문형식 WIDTH_BUCKET(컬럼,최소값,최대값,기준 숫자) 2. WIDTH_BUCKET() - 기본 테이블◈ TEST_TABLE_ONE IDXNAMEID DEPTAMT 1테스트1test1 test_d11000 2테스트2test2 test_d12000 3테스트3test3 test_d2 2000 4테스트4test4 test_d2 4000 5테스트5test5 test_d2 5000 3. WIDTH_BUCKET() - SQL 문장◈ SQL 1234SELECT NAME ,..
1. NTILE() - 역할데이터들을 즉정 기준으로 분할하여 결과값 반환 ◈ 구문형식 NTILE(숫자) OVER ( PARTITION BY 조건1 ORDER BY 조건2) - 숫자 : 지정된 숫자만큼 각 로우를 반환 2. NTILE() - 기본 테이블◈ TEST_TABLE_ONE IDXNAMEID DEPTAMT 1테스트1test1 test_d11000 2테스트2test2 test_d12000 3테스트3test3 test_d2 2000 4테스트4test4 test_d2 4000 5테스트5test5 test_d2 5000 3. NTILE() - SQL 문장◈ SQL 1234SELECT NAME ,AMT ,NTILE(3) OVER(ORDER BY AMT DESC) AS N_RNK FROM TEST_TABLE_..
1. ROW_NUMBER() - 역할동일한 값이 있을 경우에도 무조건 순서대로 순번을 반환 2. ROW_NUMBER() - 기본 테이블◈ TEST_TABLE_ONE IDXNAMEID DEPTAMT 1테스트1test1 test_d11000 2테스트2test2 test_d12000 3테스트3test3 test_d2 2000 4테스트4test4 test_d2 4000 5테스트5test5 test_d2 5000 3. ROW_NUMBER() - SQL 문장1◈ SQL 1234SELECT NAME ,AMT ,ROW_NUMBER() OVER(ORDER BY AMT DESC) AS RNM FROM TEST_TABLE_ONE ◈ 결과 테이블 NAMEAMTRNM테스트54000 1테스트43000 2테스트22000 3테스트3..
1. RANK() , DENSE_BANK() - 역할순위를 반환하는 함수 2. RANK() , DENSE_BANK() - 기본 테이블◈ TEST_TABLE_ONE IDXNAMEID DEPTAMT 1테스트1test1 test_d11000 2테스트2test2 test_d12000 3테스트3test3 test_d2 2000 4테스트4test4 test_d2 4000 5테스트5test5 test_d2 5000 3. RANK() - SQL 문장◈ SQL 1234SELECT NAME ,AMT ,RANK() OVER(ORDER BY AMT DESC) AS AMT_RNK FROM TEST_TABLE_ONE ◈ 결과 테이블 NAMEAMTAMT_RNK테스트54000 1테스트43000 2테스트22000 3테스트32000 3..
1. 분석함수 - 역할◈ 역할 데이터를 분석하는 기능을 하는 함수 ◈ 구문형식 분석함수(컬럼1,컬럼2...) OVER ( PARTITION BY .... ORDER BY ... WINDOWING ...) 분석함수 종류 AVG CORR COVAR_POP COUNT CUM_DIST DENSE_RANK FIRST LAST FIRST_VAEUE LAGLAST_VALUELEAD MAX MIN NTILEPERCENT_RANK PERCENTILE_CONTPERCENTILEDISC RANK RATIO_TO_REPORT SUM PARTITION BY 절 - 분석 함수의 계산대상 그룹 지정 ORDER BY 절 - 계산 대상 그룹에 대해 정렬작업 수행 WINDOWING 절 - 분석 함수 대상이 되는 기준을 좀 더 세부적으로..
- Total
- Today
- Yesterday