본문 바로가기

Develop/DATABASE83

오라클)GROUP BY 절 - GROUP BY GROUP BY 절은 WHERE 절 다음에 기술하며, WHERE 절이 수행되 후 수행. 쿼리문 수행 순서 SELECT 5번째 FROM 1번째 WHERE 2번째 GROUP BY 3번째 HAVING 4번째 ORDER BY 6번째 GROUP BY 절 - GROUP BY expr [, expr}] ... expr로 행 그룹을 생성하고, 생성된 행 그룹을 하나의 행으로 그룹핑 함 GROUP BY 절에 NULL이나 ()를 기술하면 전체 행이 하나의 행 그룹으로 처리 됨. SELECT SUM(sal) AS c1 FROM emp WHERE sal > 2000; 해당 쿼리문과 동일한 결과를 나타냄. DEPTNO JOB SAL 그룹 C1 10 MANAGER 2450 10 7450 10 PRESIDENT 5000 20 AN.. 2022. 12. 14.
오라클)KEEP 키워드 - DENSE_RANK (FIRST | LAST) KEEP 키워드를 사용시 행 그룹의 최저 또는 최고 순위 행으로 집계를 수행할 수 있다. 기본 함수와 일부 통계 함수에 사용 가능. aggregate_function KEEP (DENSE_RANK {FIRST | LAST} ORDER BY expr) 항목 설명 DENSE_RANK FIRST 정렬된 행 그룹에서 최저 순위 행을 지정 DENSE_RANK LAST 정렬된 행 그룹에서 최고 순위 행을 지정 c1, c2은 sal 열의 최저 순위 행을 MIN, MAX c3, c4는 sal 열의 최고 순위 행을 MIN, MAX 함수로 집계하여 처리 2022. 10. 29.
오라클)집계 함수 - 기타 (LISTAGG) LISTAGG 함수 - LISTAGG (measure_expr [, 'delimiter'] [listagg_overflow_clause]) WITHIN GROUP (order_by_clause) measure_expr를 order_by_clause로 정렬한 후 delimiter로 구분하여 연결한 값을 반환 연결되는 문자열이 4000자보다 길면 에러 발생 ※ 12.2 버전부터 LISTAGG OVERFLOW 절을 사용하면 4000자 이상의 문자열 처리 가능. ON OVERFLOW { ERROR | {TRUNCATE ['truncation-indicator' [{WITH | WITHOUT} COUNT]} 항목 설명 ON OVERFLOW ERROR 문자열이 4000자보다 길면 에러를 발생시킴 (기본값) ON O.. 2022. 10. 29.
오라클)집계 함수 - 분포 함수(PERCENTILE_COUNT, PERCENTILE_DISC, MEDIAN) 분포 함수는 분포 모형에 따른 분포 값을 반환. PERCENTILE_CONT 함수 - PERCENTILE_CONT (expr) WITHIN GROUP (ORDER BY expr) 연속 분포 모형에서 expr에 해당하는 백분위 값을 반환. c1은 (1250+1500) / 2 = 1375 c2는 (81/05/01 + 81/09/08) = 81/07/05 PERCENTILE_DISC 함수 - PERCENTILE_DISC (expr) WITHIN GROUP (ORDER BY expr) 이산 분포 모형에서 expr에 해당하는 백분위 값을 반환 c1은 1250과 1500중 1250을 반환 c2는 81/05/01과 91/09/08중 81/05/01을 반환 MEDIAN 함수 - MEDIAN (expr) 연속 분포 모형.. 2022. 10. 29.