[SQL] 20240223

김예지·2024년 2월 23일

SQL 풀이

목록 보기
24/26
post-thumbnail

*프로그래머스 SQL 문제 풀이입니다.


문제 1: 상품별 오프라인 매출 구하기

📃 문제 1 링크

PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.

🔎 풀이 포인트

  • 조건: 상품코드별 매출액 합계 출력
  • 정렬: 매출액 기준 내림차순, 상품코드 기준 오름차순
  • OUTPUT COLUMNS: PRODUCT_CODE, SALES(PRICE * SALES_AMOUNT)

제출 답안

SELECT PRODUCT_CODE, SUM(PRICE * SALES_AMOUNT) AS SALES
FROM PRODUCT A JOIN OFFLINE_SALE B ON A.PRODUCT_ID = B.PRODUCT_ID
GROUP BY PRODUCT_CODE
ORDER BY SALES DESC, PRODUCT_CODE; 

문제 2: 카테고리별 상품 개수 구하기

📃 문제 2 링크

PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.

🔎 풀이 포인트

  • 조건: 카테고리 코드별 상품 개수 출력
  • 정렬: 카테고리 기준 오름차순
  • OUTPUT COLUMNS: CATEGORY, PRODUCTS

제출 답안

SELECT SUBSTR(PRODUCT_CODE, 1, 2) AS CATEGORY, COUNT(*) AS PRODUCTS
FROM PRODUCT
GROUP BY SUBSTR(PRODUCT_CODE, 1, 2)
ORDER BY CATEGORY; 

문제 3: 5월 식품들의 총 매출 조회하기

📃 문제 3 링크

FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.

🔎 풀이 포인트

  • 조건: 생산일자가 2022년 5월인 식품들의 총 매출 조회
  • 정렬: 총 매출 기준 내림차순, 식품ID 기준 오름차순
  • OUTPUT COLUMNS: PRODUCT_ID, PRODUCT_NAME, TOTAL_SALES

제출 답안

SELECT A.PRODUCT_ID, A.PRODUCT_NAME, A.PRICE * B.AMOUNT AS TOTAL_SALES
FROM FOOD_PRODUCT A INNER JOIN (SELECT PRODUCT_ID, SUM(AMOUNT) AS AMOUNT
                               FROM FOOD_ORDER
                                WHERE TO_CHAR(PRODUCE_DATE, 'YYYYMM') = '202205'
                               GROUP BY PRODUCT_ID) B
ON A.PRODUCT_ID = B.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, A.PRODUCT_ID;

                                
profile
넓고 얕게? 좁고 깊게?

0개의 댓글