Tags
- Queue
- outer join
- drf
- N:1
- 이진트리
- update
- Vue
- count
- Django
- 백트래킹
- ORM
- migrations
- 스택
- regexp
- Article & User
- 뷰
- Tree
- SQL
- distinct
- 완전검색
- 쟝고
- DB
- 그리디
- M:N
- 트리
- 큐
- create
- stack
- 통계학
- delete
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
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 |