[SQL] 오라클에서 OVER 절
SQL오라클에서 OVER 절
오라클의 OVER 절의 의미는 무엇입니까?
해결법
-
==============================
1.오버 절은 분석 기능이 동작 "하는 동안"파티션, 주문 및 창을 지정합니다.
오버 절은 분석 기능이 동작 "하는 동안"파티션, 주문 및 창을 지정합니다.
예를 들어, 이것은 이동 평균 계산 :
AVG(amt) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) date amt avg_amt ===== ==== ======= 1-Jan 10.0 10.5 2-Jan 11.0 17.0 3-Jan 30.0 17.0 4-Jan 10.0 18.0 5-Jan 14.0 12.0
이 날짜별로 정렬 된 행 이상 (3 행 폭) 이동 창을 통해 운영하고 있습니다.
이것은 실행 균형을 계산합니다 :
SUM(amt) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) date amt sum_amt ===== ==== ======= 1-Jan 10.0 10.0 2-Jan 11.0 21.0 3-Jan 30.0 51.0 4-Jan 10.0 61.0 5-Jan 14.0 75.0
그것은 현재 행과 이전의 모든 행을 포함하는 창에서 동작한다.
이것은 각 "부서"에 대해 개별적으로, 최대 값을 계산합니다 :
MAX(amt) OVER (PARTITION BY dept) dept amt max_amt ==== ==== ======= ACCT 5.0 7.0 ACCT 7.0 7.0 ACCT 6.0 7.0 MRKT 10.0 11.0 MRKT 11.0 11.0 SLES 2.0 2.0
그것은 특정 부서의 모든 행을 포함하는 창에서 동작한다.
SQL 바이올린 : http://sqlfiddle.com/#!4/9eecb7d/122
-
==============================
2.당신은 분석에 일부 집계 함수를 변환하는 데 사용할 수 있습니다 :
당신은 분석에 일부 집계 함수를 변환하는 데 사용할 수 있습니다 :
SELECT MAX(date) FROM mytable
단일 최대 1 개 행을 반환합니다
SELECT MAX(date) OVER (ORDER BY id) FROM mytable
실행중인 최대 모든 행을 반환합니다.
-
==============================
3.그것은 오라클 분석 기능의 일부입니다.
그것은 오라클 분석 기능의 일부입니다.
from https://stackoverflow.com/questions/1092120/over-clause-in-oracle by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 SqlAlchem y의에서 "왼쪽 외부 조인"를 실행합니다 (0) | 2020.05.10 |
---|---|
[SQL] 나는 테이블의 열을 계산하려면 어떻게 (0) | 2020.05.10 |
[SQL] 별명을 가지고 있어야에서 하위 쿼리 (0) | 2020.05.10 |
[SQL] 어떻게 T-SQL의 형식 번호에 연결하여 숫자 및 문자열에? (0) | 2020.05.10 |
[SQL] 임시 쿼리 동적 SQL [폐쇄] VS 프로 시저 VS (0) | 2020.05.10 |