https://solvesql.com/problems/daily-arppu/
[코드]
select
date(a.order_purchase_timestamp) as dt,
count(DISTINCT a.customer_id) as pu,
round(sum(b.payment_value), 2) as revenue_daily,
round(
sum(b.payment_value) / count(distinct a.customer_id),
2
) as arppu
from
olist_orders_dataset as a
inner join olist_order_payments_dataset as b on a.order_id = b.order_id
where
date(a.order_purchase_timestamp) >= '2018-01-01'
group by
dt
order by
dt;
[고찰]
이번 문제는 customer_id의 중복을 제거해주지 않으면 revenue_daily와 arppu 속성의 값이 다르게 계산되므로 오답 처리를 받으므로 distinct 명령어를 사용하여 컬럼의 중복을 제거해주어야 한다. 이 부분만 주의하면 기본 join 문제였다.
'SQL 문제' 카테고리의 다른 글
[solvesql_Level3] 작품이 없는 작가 찾기 (0) | 2023.10.14 |
---|---|
[solvesql_Level3] 지역별 주문의 특징 (0) | 2023.10.14 |
[solvesql_Level3] 배송 예정일 예측 성공과 실패 (0) | 2023.10.13 |
[solvesql_Level2] 우리 플랫폼에 정착한 판매자 2 (0) | 2023.10.13 |
[해커랭크_Medium] Binary Tree Nodes (0) | 2023.10.11 |