DB/쿼리 문제풀이

프로그래머스 ORACLE 최솟값 구하기

sshhhh 2023. 10. 6.

<오답>

**ROWNUM**은 정렬되기 이전에 부여되기 때문에 정렬과는 무관하게 첫 번째 행만 선택됩니다.

SELECT DATETIME FROM ANIMAL_INS  WHERE ROWNUM = 1 ORDER BY DATETIME DESC

가장 최근 데이터의 날짜를 선택하는 결과

SELECT DATETIME
FROM (
    SELECT DATETIME
    FROM ANIMAL_INS
    ORDER BY DATETIME DESC
) SUB
WHERE ROWNUM = 1;

 

<정답>

1.FETCH FIRST 1 ROWS ONLY

SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME
FETCH FIRST 1 ROWS ONLY; —가장 초기 데이터 선택

2.MIN

SELECT DATETIME
FROM ANIMAL_INS
WHERE DATETIME = (SELECT MIN(DATETIME) FROM ANIMAL_INS );

댓글