On the journey of
[SolveSQL]우리 플랫폼에 정착한 판매자1, 점검이 필요한 자전거 찾기 본문
1. 우리 플랫폼에 정착한 판매자 1- https://solvesql.com/problems/settled-sellers-1/
Q. olist_order_items_dataset 테이블에는 주문 안에 어떤 상품이 포함되어 있는지, 상품의 판매자는 누구인지 등 상품 단위의 데이터가 들어있습니다.
우리 플랫폼에서 상품을 많이 판매하고 있는 판매자가 누구인지 알고 싶습니다. 총 주문이 100건 이상 들어온 판매자 리스트를 출력하는 쿼리를 작성해주세요.
쿼리 결과에는 아래 컬럼이 있어야 합니다.
- seller_id - 판매자 ID
- orders - 판매자가 판매한 주문 건수
A. 어떤 컬럼이 있어야 하는지 명시해 주었으므로 기본적으로 select seller_id, orders이나, orders 컬럼은 count를 통해 계산을 진행해야 한다. 특이점이라면, group by가 포함되면서 having 조건절이 포함됐다는 것.
select seller_id, count(distinct(order_id)) as orders
from olist_order_items_dataset
group by seller_id
having orders >= 100
성공적으로 출력됐다 :-)
2. 점검이 필요한 자전거 찾기 - https://solvesql.com/problems/inspection-needed-bike/
Q. 따릉이를 운영하는 서울시에서는 매달 따릉이 자전거의 정기점검을 진행하고 있습니다. 1달에 주행 거리가 50km 이상인 자전거가 정기점검 대상에 포함됩니다.
2021년 2월 정기점검 대상 자전거를 추출하려고 합니다. rental_history 테이블을 사용해 2021년 1월 한 달간 총 주행 거리가 50km 이상인 자전거의 ID를 출력하는 쿼리를 작성해주세요.
A. 사실 Group by - Having 절을 쓴다는 점에서 위 문제와 크게 다를 게 없었다...
select bike_id
from rental_history
WHERE DATE(rent_at) like '2021-01%'
group by bike_id
having sum(distance) >= 50000
쿼리문 결과로 잘 출력된 걸 볼 수 있다 :)
'코딩테스트 > SQL' 카테고리의 다른 글
[SolveSQL] 배송 예정일 예측 성공과 실패, 레스토랑의 대목 (0) | 2023.06.14 |
---|---|
[SolveSQL] 레스토랑의 요일별 VIP, 레스토랑의 요일별 매출 요약 (1) | 2023.06.13 |
[SolveSQL] 첫 주문과 마지막 주문, 많이 주문한 테이블 찾기 (0) | 2023.06.12 |
[SolveSQL] 몇 분이서 오셨어요?, 일별 블로그 방문자 수 집계 (0) | 2023.06.12 |
[SolveSQL] 레스토랑 웨이터의 팁 분석,최근 올림픽이 개최된 도시 (1) | 2023.06.09 |