일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 전세보증보험
- 나는 어디로?
- 2룸 오피스텔 투자
- robux
- 상업시설용지 분양
- 주상복합용지 분양
- 파이썬 TypeError
- 가장 많이 사용되는 파이썬 라이브러리
- chatgpt 100% 신뢰금지
- 임대소득외 추가소득이 있을 경우
- 라이브러리 vs 패키지
- Python
- 공개서적
- 소형주택 세액감면
- 오라클 데이터베이스 내장함수
- chatgpt vs bard
- 가장 인기있는 파이썬 라이브러리
- 오피스텔투자
- bard 100% 신뢰금지
- Google vs MicorSoft
- 가장 인기있는 파이썬 패키지
- 다주택임대
- 데이터 리터러시
- 종합소득세
- 주택임대사업자
- 종합과세
- Google vs OpenAI
- 갤럭시탭 with Pen
- 가장 많이 사용되는 파이썬 패키지
- PostgreSQL
All thing of the world!
Oracle LAST_VALUE 설명 : 오라클 함수 본문
1. 함수의 목적
Oracle LAST_VALUE는 분석용함수로, 정렬한 집합의 마지막 값을 리턴한다.
2. 샘플을 통한 개념 퀵뷰
가장 높은 급여를 받은 직원의 고용일을 LV로 반환.
SELECT last_name, salary, hire_date,
LAST_VALUE(hire_date)
OVER (ORDER BY salary ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED
FOLLOWING) AS lv
FROM (SELECT * FROM employees
WHERE department_id = 90
ORDER BY hire_date);
3. 사용방법
* 참고 : 두 가지 형태의 사용방법 중 위쪽이 ANSI 포멧이다. ANSI포멧을 사용할 것을 추천한다.
4. 함수 PARAMETER 설명
[expr]
LAST_VALUE로 반환할 컬럼을 입력하는 입력 파라미터다.
[IGNORE][RESPECT][NULLS]
{REPECT | IGNORE} NULLS는 expr의 NULL 값이 펑션의 계산에 포함되는지 여부를 결정한다.
기본값은 RESPECT NULLS이다.
IGNORE NULLS를 지정하면 FIRST_VALUE는 집합의 NULL이 아닌 값중 첫번째 값을을 반환하고 모든 값이 NULL이면 NULL을 반환한다.
5. 다양한 샘플표현
example1) 다음 두 예제는 unique key 순서화하여 LAST_VALUE 함수를 소팅 순서를 보장하는 방법을 보여준다.
salary와 hire_date로 함수내에서 순서를 지정하면 하위 쿼리의 순서에 관계없이 동일한 결과를 보장할 수 있다.
SELECT last_name, salary, hire_date,
LAST_VALUE(hire_date)
OVER (ORDER BY salary, hire_date ROWS BETWEEN UNBOUNDED PRECEDING AND
UNBOUNDED FOLLOWING) AS lv
FROM (SELECT * FROM employees
WHERE department_id = 90
ORDER BY hire_date)
ORDER BY last_name, salary, hire_date;
SELECT last_name, salary, hire_date,
LAST_VALUE(hire_date)
OVER (ORDER BY salary, hire_date ROWS BETWEEN UNBOUNDED PRECEDING AND
UNBOUNDED FOLLOWING) AS lv
FROM (SELECT * FROM employees
WHERE department_id = 90
ORDER BY hire_date DESC)
ORDER BY last_name, salary, hire_date;
example2) logical offset(ROWS 대신 RANGE)을 사용하면 함수가 순서를 보장할 수 있다.
ORDER BY 표현식에 대한 중복이 발견되면 LAST_VALUE는 expr의 가장 높은 값을 취한다.
SELECT last_name, salary, hire_date,
LAST_VALUE(hire_date)
OVER (ORDER BY salary RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED
FOLLOWING) AS lv
FROM (SELECT * FROM employees
WHERE department_id = 90
ORDER BY hire_date DESC);
'IT > Oracle DBMS' 카테고리의 다른 글
Oracle CUBE_TABLE 설명 : 오라클 함수 (0) | 2021.04.02 |
---|---|
Oracle ASCII 설명 : 오라클 함수 (0) | 2021.04.02 |
Oracle INSTR 설명 : 오라클 함수 (0) | 2021.04.02 |
Oracle EMPTY_BLOB, EMPTY_CLOB 설명 : 오라클 함수 (0) | 2021.04.02 |
Oracle CONVERT 설명 : 오라클 함수 (0) | 2021.04.02 |