문제 URL : https://solvesql.com/problems/daily-arppu/
https://solvesql.com/problems/daily-arppu/
solvesql.com
*문제 저작권으로 인하여 직접 작성한 쿼리문만 첨부
select date(order_purchase_timestamp) as dt,
count(distinct olist_orders_dataset.order_id) as pu,
sum(payment_value) as revenue_daily,
round(sum(payment_value)/count(distinct olist_orders_dataset.order_id), 2) as arppu
from olist_orders_dataset left join olist_order_payments_dataset
on olist_orders_dataset.order_id = olist_order_payments_dataset.order_id
where dt >= '2018-01-01'
group by dt
order by dt
중복되는 주문ID가 존재하여 DISTINCT 사용
또한 중복으로 인하여 AVG 함수를 사용하면, 나누어지는 값이 중복을 포함하여 더 크므로 평균값이 기댓값보다 낮게 나옴
이를 해결하고자 (총 금액)/(중복을 제외한 주문건수)로 평균값을 구함
'Problem Solving' 카테고리의 다른 글
[SolveSQL] 작품이 없는 작가 찾기 (0) | 2025.02.17 |
---|---|
[백준] 2252-줄 세우기 (1) | 2025.02.15 |
[SolveSQL] 배송 예정일 예측 성공과 실패 (0) | 2025.02.06 |
[백준] 1715-카드 정렬하기 (0) | 2025.02.05 |
[백준] 11286-절댓값 힙 (0) | 2025.02.05 |