실행결과
코드 11-23에서는 FIRST_VALUE(), LAST_VALUE() 함수와 프레임 절을 함께 사용합니다. 105번은 범위가 104, 105, 106번 로우이므로 FIRST_VALUE() 함수의 반환값은 104번의 급여인 6000, LAST_VALUE() 함수 반환값은 106번의 급여인 4800입니다. 마찬가지로 106번은 105번부터 107번까지가 범위이므로 FIRST_VALUE() 함수는 4800, LAST_VALUE() 함수는 4200을 반환했습니다.
코드 11-24
SELECT employee_id, emp_name, dept_name, salary,
FIRST_VALUE(salary) OVER (PARTITION BY dept_name
ORDER BY salary DESC
RANGE BETWEEN 1000 PRECEDING AND 1000 FOLLOWING
) firstvalue,
LAST_VALUE(salary) OVER (PARTITION BY dept_name
ORDER BY salary DESC
RANGE BETWEEN 1000 PRECEDING AND 1000 FOLLOWING
) lastvalue
FROM emp_hierarchy
WHERE dept_name IN ('IT', 'Finance')
ORDER BY 3, 4 DESC;