[MySQL] 프로그래머스 문제풀이 (SUM, MAX, MIN)

윤경·2021년 10월 15일
0

프로그래머스

목록 보기
14/16

최댓값 구하기

SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME DESC
LIMIT 1

가장 늦게 들어온 동물을 순서대로 정렬했을 때 가장 늦게 들어온 동물의 시간을 출력해야 하므로
내림차순으로 정렬한 후 LIMIT으로 상위 한 개의 데이터만 조회한다.


최솟값 구하기

SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

최댓값 구하기 문제와 마찬가지로 풀면 된다.
해당 문제는 가장 먼저 들어온 동물의 시간을 출력해야하므로 오름차순으로 정렬 후 하나의 데이터를 꺼낸다.


동물 수 구하기

SELECT COUNT(*)
FROM ANIMAL_INS

COUNT: 레코드의 개수를 셀 수 있다.

레코드 하나 당 동물 한 마리라고 생각할 수 있으므로 전체를 카운트시켜 조회하면 된다.


중복 제거하기

SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS
WHERE NAME!="NULL"

또는

SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL

DISTINCT: 키워드 옆에 온 모든 column을 고려해 중복 제거

📌 주의할 점
DISTINCTSELECT 구문에 여러 컬럼명이 올 때 그 중 하나에 대해서만 적용할 수 없음


profile
개발 바보 이사 중

0개의 댓글

관련 채용 정보