https://solvesql.com/problems/daily-arppu/
https://solvesql.com/problems/daily-arppu/
solvesql.com
[코드]
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 |