[프로그래머스 SQL 고득점 Kit] SUM, MAX, MIN 모아보기

짱J·2023년 2월 21일
0
post-thumbnail

🌎 2022.02.21 updated


Level 1️⃣

가장 비싼 상품 구하기

-- PRODUCT 테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요.
-- 이때 컬럼명은 MAX_PRICE로 지정해주세요.

select max(price) as max_price
from product
  • 테이블에 존재하는 데이터 중 최댓값이나 최솟값을 가져오고 싶을 때는 MAX(컬럼명), MIN(컬럼명) 집계 함수를 사용한다

최댓값 구하기

-- 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

select max(datetime)
from animal_ins
  • 날짜에도 MAX, MIN 함수를 사용할 수 있다.
    • MAX가 가장 최근 날짜, MIN이 가장 오래된 날짜를 반환한다.

Level 2️⃣

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

-- FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.

select product_id, product_name, product_cd, category, price
from food_product
order by price desc
limit 1

⚠️ 틀린 코드

select product_id, product_name, product_cd, category, max(price) as price
from food_product
  • 가격만 최대인 상품의 가격이 출력되고, 나미저 컬럼은 첫 상품의 속성을 보여준다.
  • 가장 ~~~한 데이터를 조회하고 싶을 때는 조건에 맞게 정렬한 뒤, 첫 데이터를 출력하자

최솟값 구하기

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

select min(datetime)
from animal_ins

동물 수 구하기

-- 동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요.

select count(*)
from animal_ins

중복 제거하기

-- 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요.
-- 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

select count(distinct name)
from animal_ins

중복된 결과를 제거하고 싶을 때는 DISTINCT를 사용한다.

select count(distinct name) from animal_ins;
select distinct name from animal_ins;
profile
[~2023.04] 블로그 이전했습니다 ㅎㅎ https://leeeeeyeon-dev.tistory.com/

0개의 댓글