-
[MySQL] (SUM, MAX, MIN) 가장 비싼 상품 구하기코딩테스트/MySQL 2024. 8. 18. 19:58728x90반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131697
문제 설명
다음은 어느 의류 쇼핑몰에서 판매 중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.
Column name TypeNullable 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 문제풀이
1. MAX 함수 사용
SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT
2. 내림차순 한 후 첫번째 행 고르기
SELECT PRICE AS MAX_PRICE FROM ( SELECT * FROM PRODUCT ORDER BY PRICE DESC ) WHERE ROWNUM = 1;
3. 내림차순 한 후 쿼리에서 첫번째 행만 반환
SELECT PRICE AS MAX_PRICE FROM PRODUCT ORDER BY PRICE DESC FETCH FIRST ROW ONLY;
728x90반응형'코딩테스트 > MySQL' 카테고리의 다른 글
[MySQL] (IS NULL) 나이 정보가 없는 회원 수 구하기 (0) 2024.08.18 [MySQL] (SELECT) 강원도에 위치한 생산공장 목록 출력하기 (0) 2024.08.18 [MySQL] (SELECT) 역순 정렬하기 (0) 2024.08.18 [MySQL] (SELECT) 흉부외과 또는 일반외과 의사 목록 출력하기 (0) 2024.08.18 [MySQL] (IS NULL) 경기도에 위치한 식품창고 목록 출력하기 (0) 2024.08.18