본문 바로가기

SQL

프로그래머스 SQL 고득점 Kit 풀이 - SUM, MAX, MIN 편

Lv1. 가장 비싼 상품 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/131697

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

SELECT MAX(PRICE) AS MAX_PRICE
FROM PRODUCT

Lv1. 최댓값 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/59415

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

SELECT MAX(DATETIME)
FROM ANIMAL_INS

Lv2. 가격이 제일 비싼 식품의 정보 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/131115

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

SELECT *
FROM FOOD_PRODUCT
ORDER BY PRICE DESC 
LIMIT 1;

Lv2. 최솟값 구하기

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

SELECT MIN(DATETIME)
FROM ANIMAL_INS

Lv2. 동물의 수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/59406

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

SELECT COUNT(ANIMAL_ID)
FROM ANIMAL_INS

Lv2. 동물의 수 제거하기

https://school.programmers.co.kr/learn/courses/30/lessons/59408

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

SELECT COUNT(DISTINCT NAME) AS count
FROM ANIMAL_INS

 

이 문제는 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 친다는 조건이 키 포인트이다.

동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL문을 작성해야한다.

 

동물의 이름은 몇 개인지 조회하기 위해 COUNT()를 사용한다. 

 

COUNT()는 주어진 조건에 부합하는 레코드의 수를 계산하며,  결과로 반환된 레코드 수를 정수형으로 반환한다. 이 때 NULL값은 계산되지 않는다는 것! NULL값을 가진 레코드는 COUNT()의 결과에 포함되지 않는다. 

 

그리고 중복되는 이름은 하나로 치기 때문에 DISTINCT 키워드를 사용한다. 중복된 값을 제거하고 유일한 값을 계산한다.