[SQL] 상위 n개 레코드

Ray·2025년 3월 2일
0

SQL

목록 보기
4/19

🔎 문제설명

  • 출처: 프로그래머스
  • 사용언어(RDBMS): SQL(MySQL)
  • 문제:

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



✅ 제출답안

# 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회 
SELECT NAME
FROM ANIMAL_INS
WHERE DATETIME IN (SELECT MIN(DATETIME) FROM ANIMAL_INS)


🚀 풀이기록

가장 작은 날짜를 추출하려고 했는데 생각대로 되지 않았다. 처음에는 날짜(DATETIME)타입이 대소비교가 불가능해서 그런줄 알고 문자열로 바꿔서 WHERE절에 MIN()을 사용했더니 에러가 났다(DATETIME타입도 집계함수가 사용가능했다.).
GPT를 통해 확인해봤더니, 집계 함수는 SELECT 절 또는 HAVING 절에서만 사용 가능하다고 했다. 그래서 ORDER BY ~ LIMIT을 사용하거나 WHERE절에 서브쿼리를 사용해서 푸는 방식으로 알려주었다.

profile
미래의 독자인 나를 위해 글을 씁니다.

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN