반응형
Oracle의 OVER 절
Oracle에서 OVER 절의 의미는 무엇입니까?
OVER 절은 분석 함수가 작동하는 분할, 순서 및 기간을 지정합니다.
예를 들어 다음은 이동 평균을 계산합니다.
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 Fiddle : http://sqlfiddle.com/#!4/9eecb7d/122
이를 사용하여 일부 집계 함수를 분석으로 변환 할 수 있습니다.
SELECT MAX(date)
FROM mytable
1
최대 값이 하나 인 행을 반환 합니다.
SELECT MAX(date) OVER (ORDER BY id)
FROM mytable
최대 실행중인 모든 행을 반환합니다.
It's part of the Oracle analytic functions.
참고URL : https://stackoverflow.com/questions/1092120/over-clause-in-oracle
반응형
'code' 카테고리의 다른 글
갈래 저장소에서 git master 브랜치를 업스트림 브랜치로 재설정하려면 어떻게해야합니까? (0) | 2020.11.11 |
---|---|
componentDidMount가 참조 콜백 전에 호출 됨 (0) | 2020.11.11 |
log4j가 예외에 대한 스택 추적을 인쇄하지 않습니다. (0) | 2020.11.11 |
파이썬을 사용하여 실제 사용자 홈 디렉토리를 찾는 방법은 무엇입니까? (0) | 2020.11.11 |
히스토그램을 사용하는 Matplotlib / Pandas 오류 (0) | 2020.11.11 |