Programmers/SQL
[mysql/oracle] 상품 별 오프라인 매출 구하기
Anoi
2023. 5. 18. 21:38
문제 설명

문제

결과

mysql / oracle
1
2
3
4
5
|
SELECT MAX(A.PRODUCT_CODE) AS PRODUCT_CODE, SUM(B.SALES_AMOUNT*A.PRICE) AS SALES
FROM PRODUCT A, OFFLINE_SALE B
WHERE A.PRODUCT_ID = B.PRODUCT_ID
GROUP BY A.PRODUCT_ID
ORDER BY SALES DESC, PRODUCT_CODE
|
cs |
1.상품코드별 매출액 → GROUP BY PRODUCT_ID
2. 매출액 = 상품코드별 판매량 * 판매가
→ FROM PRODUCT A, OFFLINE_SALE B
→ SUM(B.sales_amount * A.price)
: offline_sale 테이블에 같은 상품ID를 가진 row들이 있으므로 상품코드별로 더해줌 SUM()
3. GROUPBY이므로 집계함수 사용
→ MAX(A.PRODUCT_CODE)
: 다 같은 상품코드이므로 MAX()든 MIN()이든 같은 결과가 나온다