Analytic Function Analytic Function Version 8 1 6

  • Slides: 12
Download presentation
Analytic Function

Analytic Function

Analytic Function? -Version 8. 1. 6부터 추가. a. 누적 합계 계산 (calculate a running

Analytic Function? -Version 8. 1. 6부터 추가. a. 누적 합계 계산 (calculate a running total) b. 그룹내에 퍼센트 (find percentages within a group) c. 상위 N 질의( top-n queries) d. 이동 평균 계산 (compute a moving average) e. 순위 질의 수행 (perform ranking queries ) f. 기타 (Lead, …)

Syntax & Definition FUNCTION_NAME (<arg 1>, <arg 2>, <arg 3>) OVER analytic_clause절 (<Partition-절> <order

Syntax & Definition FUNCTION_NAME (<arg 1>, <arg 2>, <arg 3>) OVER analytic_clause절 (<Partition-절> <order by 절> <windowing 절>) 2 3 4 5 1 2 3 4 5

Partition Clause PARTITION BY 1개 또는 이상의 VALUE_EXPR을 기반으로 그룹화된 결과 query가 partition된다. 만약

Partition Clause PARTITION BY 1개 또는 이상의 VALUE_EXPR을 기반으로 그룹화된 결과 query가 partition된다. 만약 이 절이 생략되면 함수는 하나의 그룹처럼 모든 rows 에 대한 결과 query로 취급한다. Value_expr 바른값은 칼럼, 상수, nonanalytic functions, function expressions 등이다.

Windowing Clause (2/2) CURRENT ROW start point로서, 이것은 윈도우에서 current row or value(ROW냐? ,

Windowing Clause (2/2) CURRENT ROW start point로서, 이것은 윈도우에서 current row or value(ROW냐? , RANGE 냐? )에서 시작한다는 것을 기입한다. 이때 end point로서 value_expr PRECEDING 은 사용할수 없다. end point로서, 이것은 윈도우에서 current row or value(ROW냐? , RANGE냐? )에서 끝난다는 것을 기입한다. 이때 end point로서 value_expr FOLLOWING 은 사용할수 없다. Value_expr PRECEDING 가 start point 이라면 end point 에는 Value_expr FOLLOWING 이어야 한다. Value_expr FOLLOWING 가 start point 이라면 end point 에는 Value_expr PRECEDING 이어야 한다.

Analytic vs. Aggregate [Analytic Function] 1. select 절과 order by 절에만 올수 있다. 2.

Analytic vs. Aggregate [Analytic Function] 1. select 절과 order by 절에만 올수 있다. 2. execution plan 에서 WINDOW SORT로 표시된다. 3. ANAL FUC은 SQL에서 ORDER BY를 제외하곤 제일 마지막 에 수행한다. 즉 JOIN, WHERE, GROUP BY , HAVING 등이 먼저 수행된다. [Aggregate Function] 1. Select절, HAVING절과 ORDER BY절에 올 수 있으며, 2. Group당 하나의 값을 갖는다. • 17개의 Aggregte Function은 Analytic Function으로도 사용된다.

Aggregate Function http: //download-west. oracle. com/docs/cd/B 10501_01/server. 920/a 96540/functions 2 a. htm - 9

Aggregate Function http: //download-west. oracle. com/docs/cd/B 10501_01/server. 920/a 96540/functions 2 a. htm - 9 i. R 2 기준 AVG CORR COUNT COVAR_POP COVAR_SAMP CUME_DIST DENSE_RANK FIRST GROUP_ID GROUPING_ID LAST MAX MIN PERCENTILE_CONT PERCENTILE_DISC PERCENT_RANK REGR_ (Linear Regression) Functions STDDEV_POP STDDEV_SAMP SUM VAR_POP VAR_SAMP VARIANCE

Analytic Function http: //download-west. oracle. com/docs/cd/B 10501_01/server. 920/a 96540/functions 2 a. htm - 9

Analytic Function http: //download-west. oracle. com/docs/cd/B 10501_01/server. 920/a 96540/functions 2 a. htm - 9 i. R 2 기준 AVG CORR COVAR_POP COVAR_SAMP COUNT CUME_DIST DENSE_RANK FIRST_VALUE LAG LAST_VALUE LEAD MAX MIN NTILE PERCENT_RANK PERCENTILE_CONT PERCENTILE_DISC RANK RATIO_TO_REPORT REGR_ (Linear Regression) Functions ROW_NUMBER STDDEV_POP STDDEV_SAMP SUM VAR_POP VAR_SAMP VARIANCE