Tags
- distinct
- Django
- ORM
- 쟝고
- 그리디
- create
- delete
- Article & User
- N:1
- update
- 백트래킹
- 스택
- drf
- SQL
- 완전검색
- Queue
- Vue
- 통계학
- DB
- 뷰
- 이진트리
- stack
- regexp
- outer join
- M:N
- count
- Tree
- 트리
- 큐
- migrations
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
Average Selling Price _ Easy. LeetCode * 본문
Solution
SELECT p.product_id,
ROUND(CASE
WHEN SUM(u.units) IS NULL THEN 0
ELSE SUM(p.price * u.units) / SUM(u.units)
END, 2) AS average_price
FROM Prices p
LEFT JOIN UnitsSold u
On p.product_id = u.product_id
AND u.purchase_date BETWEEN p.start_date AND p.end_date
GROUP BY p.product_id;
Solution 2
SELECT p.product_id,
ROUND(COALESCE(SUM(p.price * u.units) / SUM(u.units), 0), 2) AS average_price
FROM Prices p
LEFT JOIN UnitsSold u
ON p.product_id = u.product_id
AND u.purchase_date BETWEEN p.start_date AND p.end_date
GROUP BY p.product_id;
CASE WHEN 말고 다른 방법이 있는지 확인해 봤다. COALESCE는 NULL 값을 처리할 때 사용하는 함수로, 여러 인수 중 첫 번째 NULL이 아닌 값을 찾을 수 있다. 이 함수는 주로 데이터에서 NULL 값을 기본값이나 다른 값으로 대체하고 싶을 때 사용된다.
'SQL > 문제풀이' 카테고리의 다른 글
Project Employees I _ Easy. LeetCode (0) | 2024.10.08 |
---|---|
Weather Observation Station 9 _ Easy. HackerRank (0) | 2024.10.07 |
Weather Observation Station 9 _ Easy. HackerRank (0) | 2024.10.05 |
Not Boring Movies _ Easy. LeetCode (0) | 2024.10.04 |
Weather Observation Station 8 _ Easy. HackerRank (0) | 2024.10.03 |