728x90
이번시간에는 오라클 FIRST_VALUE,LAST_VALUE 함수에 대해서 알아보겠습니다.
- FIRST_VALUE : 첫번째 행의 값을 가져옴
- LAST_VALUE : 마지막 행의 값을 가져옴
사전 준비
--테이블 생성
CREATE TABLE EMP
(
EMPNO NUMBER
,ENAME VARCHAR2(50)
,SAL FLOAT
,MGR NUMBER
)
--데이터 삽입
INSERT INTO EMP VALUES (100,'A',999,'');
INSERT INTO EMP VALUES (400,'B',666,'300');
INSERT INTO EMP VALUES (300,'C',777,'200');
INSERT INTO EMP VALUES (500,'D',555,'200');
INSERT INTO EMP VALUES (200,'E',888,'100');
INSERT INTO EMP VALUES (600,'F',666,'400');
COMMIT;
--데이터 조회
SELECT * FROM EMP
EMPNO ENAME SAL MGR
100 A 999
400 B 666 300
300 C 777 200
500 D 555 200
200 E 888 100
600 F 666 400
예제 쿼리#1
SELECT EMPNO
,ENAME
,SAL
, FIRST_VALUE(SAL) OVER() AS sal_first
, LAST_VALUE(SAL) OVER() AS sal_last
FROM EMP
--SAL의 첫번째 값은 999, 마지막 값은 666
EMPNO ENAME SAL SAL_FIRST SAL_LAST
100 A 999 999 666
400 B 666 999 666
300 C 777 999 666
500 D 555 999 666
200 E 888 999 666
600 F 666 999 666
예제 쿼리#2
SELECT EMPNO
,ENAME
,SAL
, FIRST_VALUE(SAL) OVER(ORDER BY EMPNO ) AS sal_first
FROM EMP
--EMPNO 로 정렬
EMPNO ENAME SAL SAL_FIRST
100 A 999 999
200 E 888 999
300 C 777 999
400 B 666 999
500 D 555 999
600 F 666 999
반응형
그리드형
'IT > ORACLE' 카테고리의 다른 글
[ORACLE] 오라클 데이터 모델링의 이해(엔터티) (0) | 2021.05.13 |
---|---|
[ORACLE] 오라클 LAG, LEAD 함수 사용법 및 예제 (0) | 2021.05.11 |
[ORACLE] REGEXP_SUBSTR 사용법 및 예제 (0) | 2021.05.11 |
[ORACLE] START WITH와 CONNECT BY 설명 및 예제 (0) | 2021.05.11 |
[ORACLE] LPAD, RPAD 함수 사용법 & 예제 (0) | 2021.05.07 |
댓글