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

J. Hwang·2025년 5월 4일

SQL practice

목록 보기
10/18

문제

동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.

Input table

ANIMAL_INS

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A365172Dog2014-08-2612:53:00NormalDiablo
A367012Dog2015-09-1609:06:00SickMiller
..................

Output table

NAME
Jack

내 풀이

Top n 쿼리는 Oracle과 MySQL에서의 표현 방식이 다르다.

  • Oracle : 서브 쿼리 + ORDER BY + WHERE ROWNUM <= n;
  • MySQL : ORDER BY + LIMIT n;

Oracle

SELECT *
FROM (
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME ASC
)
WHERE ROWNUM <= 1;

혹은 Oracle 12c 이상에서는 FETCH FIRST를 사용 가능하다고 한다.

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME ASC
FETCH FIRST 1 ROWS ONLY;

MySQL

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME ASC
LIMIT 1;

코멘트

Chain-of-thought

Top-n 쿼리를 사용하는 문제이다.


태그

SELECT Level 1


References

https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit

profile
Let it code

0개의 댓글