[SUM, MAX, MIN] 가장 비싼 상품 구하기

2024. 9. 14. 18:00SQL 고득점 Kit/SUM, MAX, MIN

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

 

프로그래머스

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

programmers.co.kr


문제 설명
다음은 어느 의류 쇼핑몰에서 판매 중인 상품들의 정보를 담은 PRODUCT 테이블입니다.

PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.

Column name Type Nullable
PRODUCT_ID INTEGER FALSE
PRODUCT_CODE VARCHAR(8) FALSE
PRICE INTEGER FALSE


상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다.


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


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

PRODUCT_ID PRODUCT_CODE PRICE
1 A1000001 10000
2 A2000005 9000
3 C1000006 22000


가장 높은 판매가는 22,000 원 이므로, 다음과 같은 결과가 나와야 합니다.

MAX_PRICE
22000

판매 중인 상품들의 정보를 담은 테이블에서 최고가를 찾아 출력하는 문제입니다.

 

최고가를 찾는 함수는 MAX 함수로, 이 문제에서는 가격을 나타내는 PRICE 열의 최고가를 찾을 수 있습니다.

 

정답 코드를 작성해보겠습니다. 

SELECT MAX(PRICE) AS MAX_PRICE
  FROM PRODUCT;

 

MAX 함수를 사용해 최고가 MAX(PRICE)를 구한 다음, 해당 열의 이름을 AS를 사용해 MAX_PRICE로 이름을 바꿔주면 됩니다.

 

MAX 함수를 사용하는 방법 이외에도 내림차순 정렬과 LIMIT를 사용해서 1열만 출력할 수도 있습니다.

  SELECT PRICE AS MAX_PRICE
    FROM PRODUCT
ORDER BY PRICE DESC
   LIMIT 1;