DB/쿼리 문제풀이
프로그래머스 ORACLE 최솟값 구하기
sshhhh
2023. 10. 6. 14:03
<오답>
**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 );