MySQL/프로그래머스

[프로그래머스 LV.1] 가장 비싼 상품 구하기

묘걍 2023. 11. 1. 18:42

❓문제

문제 설명

다음은 어느 의류 쇼핑몰에서 판매 중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.

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

 

문제

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

 

예시

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

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

 

🤔풀이 방법 고민해보기

MAX_PRICE라는 이름의 컬럼으로 출력 → SELECT AS

PRODUCT테이블에서 → FROM

가장 높은 판매가 = PRICE 컬럼 데이터 중 가장 큰 값 → WHERE MAX()

👩🏻‍💻나의 코드

SELECT * AS MAX_PRICE
FROM PRODUCT
WHERE MAX(PRICE)

실패

  1. SELECT 문에서 열을 선택할 때는 열 이름을 나열하거나 계산식을 사용할 수 있습니다. 그러나 "*"은 모든 열을 의미하며, "AS"는 열에 별칭을 부여할 때 사용됩니다. "SELECT MAX(PRICE) AS MAX_PRICE"와 같이 사용하는 것이 열 "PRICE"의 최댓값을 "MAX_PRICE"로 별칭 지정하는 올바른 방법입니다.
  2. "WHERE" 절은 조건을 지정하는 데 사용됩니다. "WHERE MAX(PRICE)"와 같이 사용하는 것은 올바른 방법이 아닙니다. 대신, "WHERE" 절에는 실제 조건을 지정해야 합니다. 예를 들어, "WHERE PRICE > 100"은 가격이 100보다 큰 제품을 선택하는 조건입니다.
SELECT MAX(PRICE) AS MAX_PRICE
FROM PRODUCT

성공

✅다른 사람 코드

- 똑같음 -

 

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

 

프로그래머스

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

programmers.co.kr