SQL/프로그래머스

[프로그래머스/SQL] 최솟값 구하기(MySQL)

류진주 2021. 10. 28. 13:30

https://programmers.co.kr/learn/courses/30/lessons/59038

 

코딩테스트 연습 - 최솟값 구하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

NAME TYPE NULLABLE
ANIMAL_ID VARCHAR(N) FALSE
ANIMAL_TYPE VARCHAR(N) FALSE
DATETIME DATETIME FALSE
INTAKE_CONDITION VARCHAR(N) FALSE
NAME VARCHAR(N) TRUE
SEX_UPON_INTAKE VARCHAR(N) FALSE

동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

예시

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_ID ANIMAL_TYPE DATETIME INTAKE_CONDITION NAME SEX_UPON_INTAKE
A399552 Dog 2013-10-14 15:38:00 Normal Jack Neutered Male
A379998 Dog 2013-10-23 11:42:00 Normal Disciple Intact Male
A370852 Dog 2013-11-03 15:04:00 Normal Katie Spayed Female
A403564 Dog 2013-11-18 17:03:00 Normal Anna Spayed Female

가장 먼저 들어온 동물은 Jack이고, Jack은 2013-10-14 15:38:00에 들어왔습니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

시간
2013-10-14 15:38:00

※ 컬럼 이름(위 예제에서는 "시간")은 일치하지 않아도 됩니다.


[풀이]

ANIMAL_INS 테이블에서 값을 조회할 것이므로 FROM절에 ANIMAL_INS를 작성한다.

보호소에 가장 먼저 들어온 동물이 언제 들어왔는 지를 조회하고 싶은 것이므로 보호소에 들어온 시간인 DATETIME이 가장 빠른 것을 찾으면 된다. 그러므로 SELECT절에는 MIN(DATETIME)을 작성하면 된다.

위의 예시처럼 조회한 칼럼 이름이 "시간"이길 원한다면 SELECT절에 SELECT MIN(DATETIME) AS 시간 으로 작성하면 된다.

 

[코드]

SELECT MIN(DATETIME)
FROM ANIMAL_INS