개발자/프로그래머스
[SQL] 프로그래머스 상위 n개 레코드 / rownum 활용
푸루닉
2022. 12. 13. 12:49
https://school.programmers.co.kr/learn/courses/30/lessons/59405
활용한 문법 = rownum
오라클 조회 순번 매기는 방법 rownum
1. rownum 역할
rownum은 특정 개수만큼 원하는 데이터를 추출하고 싶을때 사용한다.
2. rownum을 활용한 문제풀이
SELECT NAME
FROM (SELECT NAME,
datetime
FROM animal_ins
ORDER BY datetime ASC)
WHERE rownum < 2;
-- WHERE rownum = 1;
--잘못된 방법
SELECT NAME
FROM animal_ins
WHERE rownum < 2;
ORDER BY datetime ASC
❗ 주의사항
- rownum을 사용할때 order by를 사용하게 된다면 정렬을 먼저 하고 2개를 추출하는 것이 아닌 2개를 추출하고 거기서 정렬하게 된다.
- 그래서 정렬을 먼저 해주고 그 결과를 rownum 매길 수 있도록 inner 쿼리를 써야한다.
- rownum = 1로 하나만 추출할 수 있다 단! rownum = 2 부터는 1이 먼저실행되고 2를 출력하는데 rownum의 특성상 =1을 하게되면 뒤의 값이 다 증발하기 때문에 rownum = 1만 사용가능하다.