2016-12-10 1 views
0

이름과 시작 날짜가있는 사원이 있습니다. 가장 최근에 고용 한 5 명의 직원을 돌려 보내야합니다. 나는 가장 최근의 것만 돌려 줄 수 있었다.SQL QUERY가 최근에 고용 한 직원

SELECT NAME, FAMILY, STARTING_DATE 
FROM EMPLOYEES 
WHERE STARTING_DATE = (SELECT MAX(STARTING_DATE)FROM EMPLOYEES); 

나는 ROW_NUMBER로 시도했지만, 효과가 없다고 생각합니다.

+2

:

나는 오라클 12C가의 단순 ANSI 표준 구문을 제공한다는주의해야한다? 예 : 직원 5,6 명과 같은 시작일 : 4, 5 또는 6 명의 직원을 표시 하시겠습니까? –

답변

0

사용 ORDER BY :이 목적을 위해 윈도우 기능을 사용할 수 있지만

SELECT e.* 
FROM (SELECT NAME, FAMILY, STARTING_DATE 
     FROM EMPLOYEES 
     ORDER BY STARTING_DATE DESC 
    ) e 
WHERE rownum <= 5; 

, 나는 그렇게함으로써 어떤 이점을 볼 수 없습니다. 관계의 경우에해야 할 일

SELECT NAME, FAMILY, STARTING_DATE 
FROM EMPLOYEES 
ORDER BY STARTING_DATE DESC 
FETCH FIRST 5 ROWS ONLY; 
관련 문제