clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Q
  • Swift
  • ㅅ
  • uikit

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

코딩테스트/프로그래머스

[MYSQL] 상품 별 오프라인 매출 구하기(JOIN, ORDER BY, GROUP BY)

2022. 10. 13. 17:25

다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 상품 정보를 담은 PRODUCT 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. 

 

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

 

OFFLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 오프라인 상품 판매 ID, 상품 ID, 판매량, 판매일을 나타냅니다.

 

문제 

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

 

SELECT PRO.PRODUCT_CODE, SUM(OFF.SALES_AMOUNT) * PRO,PRICE AS SALES
FROM PRODUCT PRO, OFFLINE_SALE OFF
WHERE PRO.PRODUCT_ID = OFF.PRODUCT_ID
GROUP BY PRO.PRODUCT_ID
ORDER BY SALES DESC, PRODUCT_CODE

* 문제를 잘 안읽어서 고생.. 매출액 기준 내림차순만하고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬을 안해서 30분은 까먹은듯하다.

두 테이블을 조인해서 새로운 테이블을 만들어 주는데 중요한건 개수를 세는게 아니라 개수를 합하는것이기 때문에 count가 아니라 SUM을 해야한다.

ORDER BY SALES DESC, PRODUCT_CODE

SALES 기준 내림차순 정렬, SALES가 같다면 PRODUCT_CODE순으로 정렬.

저작자표시 비영리 동일조건 (새창열림)
    '코딩테스트/프로그래머스' 카테고리의 다른 글
    • [MYSQL] 아픈 동물 찾기(WHERE)
    • [MYSQL] 역순 정렬하기(ORDER BY, DESC)
    • [MYSQL] 보호소에서 중성화한 동물
    • [MYSQL] 오랜 기간 보호한 동물(1)(JOIN, LIMIT)
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바