Test/SQL

[프로그래머스] 상위 n개 레코드

잼카이브 2024. 4. 23. 00:04

https://school.programmers.co.kr/learn/courses/30/lessons/59405

 

첫 번째 풀이 : RANK 함수 사용하기 (어짜피 로우가 1개라 ROW_NUMBER, DENSE_RANK도 가능)

-- 코드를 입력하세요
SELECT name
FROM (
    SELECT name, RANK() OVER(ORDER BY datetime) as num
    FROM animal_ins
    ) as T
WHERE T.num = 1

서브쿼리를 사용해야 한다는 점이 좀 걸린다.

 

두 번째 풀이 : LIMIT 함수 사용하기

-- 코드를 입력하세요
SELECT name
FROM animal_ins
ORDER BY datetime
LIMIT 1

간단하고 직관적이다.