On the journey of
[SolveSQL] 첫 주문과 마지막 주문, 많이 주문한 테이블 찾기 본문
SolveSQL에서 그냥 풀 수 있는 문제들 중 카테고리를 살짝 바꿔봤다 :) 데이터리안 캠프 실전반에서 다는 아니고... 6문제 정도 공개했길래 도전!
1. 첫 주문과 마지막 주문 - https://solvesql.com/problems/first-and-last-orders/
Q. Brazilian E-Commerce Public Dataset By Olist 데이터셋은 브라질의 Olist Store 라는 쇼핑몰에서 수집한 데이터를 담고 있습니다. 그 중 olist_orders_dataset 테이블에는 쇼핑몰에서 상품을 구매한 고객, 주문 일자, 상품 도착 일자와 같은 주문 정보가 들어있습니다.
주문 일자를 나타내는 order_purchase_timestamp 컬럼을 통해 첫 주문 일자와 마지막 주문 일자를 알아보려고 합니다. 아래 두 컬럼을 포함하는 쿼리를 작성해주세요.
- first_order_date - 첫 주문 일자 (예: 2018-01-01)
- last_order_date - 마지막 주문 일자 (예: 2018-08-31)
A. Timestamp 컬럼 내에서 Min, Max를 활용해 값을 도출하자.
* YYYY-MM-DD 형식을 위해 STRFTIME 함수를 활용하려고 했는데.... 필요가 없었음.
* STRFTIME는 아래와 같은 형식으로 사용된다.
strftime(format, timestring, modifier, modifier, ...)
Timestring에 날짜와 시간을 나타내는 문자열을 지정하며, 각 함수마다 지정된 형식으로 반환된다.
- Date 함수 : YYYY-MM-DD
- Time 함수: HH:MM:SS
- Datetime 함수: YYYY-MM-DD HH:MM:SS
- Julianday 함수 : 'J' (율리우스 날짜)
SELECT
date(MIN(order_purchase_timestamp)) AS first_order_date,
date(MAX(order_purchase_timestamp)) AS last_order_date
FROM
olist_orders_dataset
의외로 어렵지 않게 결과가 나왔다! AS만 잘 쓰면 됐던 문제 :)
2. 많이 주문한 테이블 찾기 - https://solvesql.com/problems/find-tables-with-high-bill/
Q. tips 테이블에는 식사 금액, 팁, 결제자 성별, 요일, 시간대 등 어느 레스토랑의 테이블 당 결제에 관련된 데이터가 들어있습니다. 식사 금액이 테이블 당 평균 식사 금액보다 더 많은 경우를 모두 출력하는 쿼리를 작성해주세요. 결과에는 tips 테이블에 있는 모든 컬럼이 포함되어야 합니다.
* tips 테이블 내 '평균식사금액'은 정의되어 있지 않기 때문에, where 조건문 안에 select문, from문을 한번 더 집어넣자. 한번 더 들어간 쿼리문 내에서는 avg를 정의하면 된다! : avg(total_bill)가 될 거고.
Select *
From tips
where total_bill > (select avg(total_bill) from tips)
조건 작성이 족움 빡셌지만 그래도 어려운 편은 아니었던 문항인 듯! :) SQLD 공부했으면 무난히 풀었을 거 같다.
그나저나 SolveSQL이 실전반 문제는 등록하지 않으면 못 봐서 그런가? 전체공개된 문제들이 막 엄청 어렵다 느낌은 없어서 daily 2문제보다 그냥 하루 4문제씩 풀어서 얼른 끝내고 프로그래머스든 백준이든 넘어가야겠다. 파이썬도 재개해야 하니까.....코테준비 뽜쟈 !
'코딩테스트 > SQL' 카테고리의 다른 글
[SolveSQL] 레스토랑의 요일별 VIP, 레스토랑의 요일별 매출 요약 (1) | 2023.06.13 |
---|---|
[SolveSQL]우리 플랫폼에 정착한 판매자1, 점검이 필요한 자전거 찾기 (2) | 2023.06.13 |
[SolveSQL] 몇 분이서 오셨어요?, 일별 블로그 방문자 수 집계 (0) | 2023.06.12 |
[SolveSQL] 레스토랑 웨이터의 팁 분석,최근 올림픽이 개최된 도시 (1) | 2023.06.09 |
[SolveSQL] 할부는 몇 개월로 해드릴까요,특정 컬럼만 조회하기 (0) | 2023.06.08 |