[SQL] 02. SUM, MAX, MIN 6문제 총정리

다나·2023년 1월 23일
0

SQL

목록 보기
2/6
post-thumbnail

SUM, MAX, MIN 문제 KEY POINT

  • MAX, MIN의 경우
    ☝️ order by 로 정렬하고 limit 1로 맨 위의 행을 선택한다!
  • SUM의 경우
    ☝️ 'select count(칼럼명) from 테이블명'을 사용하여 행의 개수를 센다.
  • 중복 제거의 경우, DISTINCT(칼럼명)을 사용한다.

1. 가장 비싼 상품 구하기 🛍️

난이도 : LEVEL 1

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

문제 풀이

1️⃣ 판매 중인 상품 중 가장 높은 판매가를 출력한다.

  • 가격을 내림차순으로 정렬하고 맨 위의 1개 행을 선택한다.
  • order by PRICE desc limit 1
SELECT PRICE as MAX_PRICE from PRODUCT order by PRICE desc limit 1;

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

난이도 : LEVEL 2

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

문제 풀이

1️⃣ 가격이 제일 비싼 식품을 조회한다.

  • 가격을 내림차순으로 정렬하고 맨 위의 1개 행을 선택한다.
SELECT * from FOOD_PRODUCT order by PRICE desc limit 1;

3. 최댓값 구하기 🏋️

난이도 : LEVEL 1

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

문제 풀이

1️⃣ 가장 최근에 들어온 동물을 조회한다.

  • 들어온 시간을 내림차순으로 정렬하고, 맨 위 1개의 행을 선택한다.
  • order by DATETIME desc limit 1
SELECT DATETIME as 시간 from ANIMAL_INS order by DATETIME desc limit 1

4. 최솟값 구하기 🤸‍♀️

난이도 : LEVEL 2

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

문제 풀이

1️⃣ 가장 먼저 들어온 동물을 조회한다.

  • 들어온 시간을 오름차순으로 정렬하고, 맨 위의 1개 행을 선택한다.
  • order by DATETIME limit 1
SELECT DATETIME as 시간 from ANIMAL_INS order by DATETIME limit 1

5. 동물 수 구하기 🐶

난이도 : LEVEL 2

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

문제 풀이

1️⃣ 동물이 몇 마리 들어왔는지 조회한다.

  • 전체 행의 개수를 count(*)로 센다.

* count(칼럼명) : 행 개수 구하기

SELECT count(*) as count from ANIMAL_INS

참고 자료 : https://extbrain.tistory.com/54


6. 중복 제거하기 📚

난이도 : LEVEL 2

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

문제 풀이

1️⃣ 들어온 동물의 이름이 몇 개인지 조회한다.

  • COUNT(NAME)

2️⃣ 이름이 NULL인 경우는 집계하지 않는다.

  • where NOT NAME IS NULL

3️⃣ 중복되는 이름은 하나로 친다.

  • DISTINCT(NAME)

* DISTINCT(칼럼명) : 중복 제거

SELECT count(DISTINCT(NAME)) as count from ANIMAL_INS
where NOT NAME is NULL;
profile
컴퓨터공학과 학생이며, 백엔드 개발자입니다🐰

0개의 댓글