안녕하세요!
이번 포스팅은 LeetCode에 있는 Average Selling Price 문제를 OracleDB로 풀어보려고 합니다!
(모든 문제는 Oracle로 풀이하겠습니다.)
1. 문제 링크 : https://leetcode.com/problems/average-selling-price/description/
2. 문제
| Column name | Type |
| product_id | int |
| start_date | date |
| end_date | date |
| price | int |
| Column name | Type |
| product_id | int |
| purchase_date | date |
| units | int |
[문제] Write a solution to find the average selling price for each product. average_price should be rounded to 2 decimal places.
각 상품의 평균판매가격을 조회하는 문제입니다.
3. 제출 쿼리 및 설명
최종) PRODUCT 테이블과 UNITSOLD 테이블을 PRODUCT_ID 기준으로 조인합니다.
추가적인 조건으로 구매일(PURCHASE_DATE)이 START_DATE와 END_DATE 사이에 있는 가격을 기준으로 집계합니다.
상품ID 별로 그룹화해서 각 상품의 평균판매가격을 조회합니다.
SELECT P.PRODUCT_ID, ROUND(SUM(P.PRICE*U.UNITS) / SUM(U.UNITS), 2) AS AVERAGE_PRICE
FROM PRICES P, UNITSSOLD U
WHERE P.PRODUCT_ID = U.PRODUCT_ID
AND U.PURCHASE_DATE BETWEEN P.START_DATE AND P.END_DATE
GROUP BY P.PRODUCT_ID
;
'SQL > LeetCode' 카테고리의 다른 글
| [SQL] Restaurant Growth(LeetCode/Oracle) (1) | 2023.10.23 |
|---|---|
| [SQL] Students and Examinations(LeetCode/Oracle) (0) | 2023.10.23 |
| [SQL] Queries Quality and Percentage(LeetCode/Oracle) (0) | 2023.10.20 |
| [SQL] Last Person to Fit in the Bus(LeetCode/Oracle) (0) | 2023.10.20 |
| [SQL] Monthly Transactions I(LeetCode/Oracle) (0) | 2023.10.20 |