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