일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- airflow 설치
- 파이썬
- TRUNCATE
- matplotlib
- Oracle
- 전처리
- hackerrank
- not in
- GROUPBY
- SUM
- Round
- 데이터분석
- 데이터리안 웨비나
- join
- pandas
- 그로스해킹
- MySQL
- 결측값
- 데이터시각화
- 프로그래머스
- solvesql
- 머신러닝
- SQL
- Limit
- 다중 JOIN
- SQLite
- mysql :=
- PostgreSQL
- having
- seaborn
Archives
- Today
- Total
Milky's note
[sovlesql] 배송 예정일 예측 성공과 실패 본문
https://solvesql.com/problems/estimated-delivery-date/
문제는 위와 같다.
주제가 피벗 테이블이라서 피벗으로 어떻게 풀어야할까 고민하다가 너무 어렵게 빠져버려서 group by를 사용해서 푸는 방법으로 풀었다.
1월 한달 동안의 배송 성공과 실패 쿼리를 뽑는 것으로 성공, 실패에 대한 조건은 case문을 사용해주었고 그것을 count 해주는 방식으로 풀었다.
select date(order_purchase_timestamp) as purchase_date,
count(case when date(order_delivered_customer_date) < date(order_estimated_delivery_date) then order_id end) as success,
count(case when date(order_delivered_customer_date) >= date(order_estimated_delivery_date) then order_id end) as fail
from olist_orders_dataset
where order_delivered_customer_date is not null
and order_estimated_delivery_date is not null
and date(order_purchase_timestamp) between '2017-01-01' and '2017-01-31'
group by date(order_purchase_timestamp)
order by date(order_purchase_timestamp);
'SQL > SQL 코딩 테스트-Solvesql' 카테고리의 다른 글
[solvesql] 가구 판매의 비중이 높았던 날 찾기 (0) | 2022.05.15 |
---|---|
[sovlesql] 지역별 주문의 특징 (0) | 2022.05.15 |
[sovlesql] 복수 국적 메달 수상한 선수 찾기 (0) | 2022.05.15 |
Comments