-
카테고리
-
세부 분야
데이터베이스
-
해결 여부
미해결
first_value() 와 row_number() 비교에 대한 질문
22.08.15 01:27 작성 조회수 124
0
안녕하세요 선생님:) 좋은 강의 감사합니다.
다름이 아니라 first_value() 대신 row_number()를 통해 값을 구할 수 있나에 대해 생각하다가 질문을 드리게 되었습니다.
예제를 보면
select empno, deptno, hiredate, sal
, first_value(sal) over (partition by deptno order by hiredate) as first_hiredate_sal
from emp;
이 쿼리가 있었는데, row_number()를 사용하여 아래 처럼 쿼리를 작성하면 위에 쿼리와 동일한 값을 가질 수 있는 건가요?
with temp_01
as
(
select empno, deptno, hiredate, sal
, row_number() over (partition by deptno order by hiredate) as rn_sal
)
select empno, deptno, hiredate, sal
from temp_01
where rn_sal = 1;
답변을 작성해보세요.
1
권 철민
지식공유자2022.08.15
안녕하십니까,
동일하지 않습니다. 적어주신대로 수행하면 rn_sal = 1 인것만 temp_01에서 추출하게 되므로 first_value()를 수행한것보다 건수가 더 작아지게 됩니다.
감사합니다.
답변 1