일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 나는 어디로?
- 주상복합용지 분양
- 임대소득외 추가소득이 있을 경우
- 가장 많이 사용되는 파이썬 라이브러리
- Google vs MicorSoft
- chatgpt vs bard
- 데이터 리터러시
- chatgpt 100% 신뢰금지
- Google vs OpenAI
- 가장 인기있는 파이썬 라이브러리
- 주택임대사업자
- Python
- 공개서적
- 상업시설용지 분양
- 가장 많이 사용되는 파이썬 패키지
- 다주택임대
- 가장 인기있는 파이썬 패키지
- 오라클 데이터베이스 내장함수
- 파이썬 TypeError
- 종합소득세
- 갤럭시탭 with Pen
- 종합과세
- PostgreSQL
- 소형주택 세액감면
- 라이브러리 vs 패키지
- robux
- bard 100% 신뢰금지
- 2룸 오피스텔 투자
- 전세보증보험
- 오피스텔투자
All thing of the world!
Oracle FIRST 설명 : 오라클 함수 본문
1. 함수의 목적
Oracle FIRST는 집계 및 분석 함수을 보조하는 역할을 하는 함수로서 주어진 정렬에 따라 첫번째(FIRST) 순위가 매겨진 행 세트의 값 집합 작용한다.
LAST도 유사한 기능이다.
특이하게, 분석함수 및 집계함수의 뒤로 키워드 형태로 쓰임을 유념하자.
2. 샘플을 통한 개념 퀵뷰
부서별로 최소(FIRST) 커미션을 받는 직원 중 최소 급여와 최대(LAST) 커미션을 받는 직원 중 최대급여를 집계한다.
SELECT department_id,
MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct) "Worst",
MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct) "Best"
FROM employees
GROUP BY department_id
ORDER BY department_id;
3. 사용방법
4. 함수 PARAMETER 설명
[OVER]
이 절을 지정하게 되면 분석용으로 사용된다라는 뜻이 되고, 생략하면 집계용으로 사용한다라는 뜻이 된다.
[query_partition_clause]
이 절은 OVER를 사용하게되면 지정하는 partion관련 절이다. 생략하게 되면 전체 테이블에 대한 분석을 하겠다는 의미가 된다.
[expr]
어느 컬럼기준으로 FIRST를 평가할 것인지에 대한 기준이 되는 컬럼이다.
[aggregate function]
집계함수인 MIN, MAX, SUM, AVG, COUNT, VARIANCE 또는 STDDEV 함수 중 하나를 적어 줄 수 있다. (집계합수를 전체를 FIRST혹은 LAST와 같이 쓸 수 있는 것이 아니다)
[KEEP]
KEEP은 aggregate function 뒤에 FIRST 혹은 LAST 펑션이 쓰겠다는 표현이다.
[DENSE_RANK]
DENSE_RANK로직으로 FIRST를 구하겠다는 의미다.
(DENSE_RANK의 순위 매김방법은 DENSE_RANK함수 설명을 참조)
5. 다양한 샘플표현
example1) employees 테이블에서 department_id별 소속된 사원의 이름과 부서, 급여 그리고 부서내의 제일 낮은 커미션 중 제일 낮은 급여 및 제일 높은 커미션 중 제일 높은 급여를 조회.
SELECT last_name, department_id, salary,
MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct)
OVER (PARTITION BY department_id) "Worst",
MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct)
OVER (PARTITION BY department_id) "Best"
FROM employees
ORDER BY department_id, salary, last_name;
'IT > Oracle DBMS' 카테고리의 다른 글
Oracle DENSE_RANK 설명 : 오라클 함수 (0) | 2021.04.06 |
---|---|
Oracle EXTRACT 설명 : 오라클 함수 (0) | 2021.04.06 |
Oracle FIRST_VALUE 설명 : 오라클 함수 (0) | 2021.04.06 |
Oracle GREATEST 설명 : 오라클 함수 (0) | 2021.04.06 |
Oracle GROUPING 설명 : 오라클 함수 (0) | 2021.04.06 |