[프로그래머스 MySQL] 최댓값 구하기, 상위 n개 레코드, 이름이 있는 동물의 아이디
카테고리: Programmers-MySQL
💡 프로그래머스 스쿨에서 제공하는 MySQL 코딩 테스트 문제들을 풀고 정리했다.
Lv1. 최댓값 구하기
❓ 문제 설명
📝 나의 답
SELECT MAX(DATETIME)
FROM ANIMAL_INS
💡 풀이 팁
문제는 길지만 답은 간단하다. 가장 최근 날짜는 MAX()
함수로, 가장 오래된 날짜는 MIN()
함수로 출력할 수 있다.
Lv1. 상위 n개 레코드
❓ 문제 설명
📝 나의 답
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1
💡 풀이 팁
앞선 문제와 거의 유사하지만 차이가 있다. 앞선 경우는 가장 최근 날짜를 그대로 출력해주면 되기에 MAX(DATETIME)
을 썼지만 이번 문제는 가장 늦은 날짜의 NAME이라는 컬럼을 출력해야 한다.
때문에 DATETIME을 기준으로 오름차순 정렬을 하고, 상위 N개만 출력해주는 LIMIT
을 사용하면 간편하게 처리할 수 있다.
Lv1. 이름이 있는 동물의 아이디
❓ 문제 설명
📝 나의 답
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID
💡 풀이 팁
이름이 없는 경우를 WHERE절에서 걸러주면 되므로 위처럼 간단히 작성할 수 있다.