solve SQL 문제 지옥 ☠️
난이도 1도 결코 쉾지않다.
갈 길이 멀구만 🚴 🚴🏻♀️ 🚴🏻♂️
💡 오늘의 TIL 을 시작해 보겠다.
1. SOLVE SQL 난이도 1 문제
2. 오늘의 회고
3. 내일의 계획
1. SOLVE SQL 난이도 1 문제 ...
Q1) [우리 플랫폼에 정착한 판매자1] 정답률 28%
- 총 주문이 100건 이상 들어온 판매자 리스트를 불러오는 쿼리문 작성
# 내가 시도한 쿼리문
select seller_id,
orders
from
(
select seller_id,
count(distinct order_id) as orders
from olist_order_items_dataset
group by 1
)
where orders >= 100
# 팀원이 시도한 쿼리문
SELECT
seller_id,
COUNT(DISTINCT order_id) AS orders
FROM
olist_order_items_dataset
GROUP BY
seller_id
HAVING
COUNT(DISTINCT order_id) >= 100
⁉️ order_id 앞에 distinct 를 넣어야만 하는 이유?
같은 주문(order_id) 건 아래에 여러가지의 상품(product_id)가 있을 수 있기 때문에, order_id의 중복을 제거해야 한다.
예를들어 order_id : product_id 가 있을 때,
➡️ A : 후라이팬, A : 냄비, A : 수저
💡 위 처럼 같은 주문 건 안에 다른 여러가지 상품이 있을 수 있어서 중복을 제거해야 한다.
Q2) [데이터 그룹으로 묶기] 정답률 30%
select quartet,
round(avg(x), 2) as x_mean,
round(var_samp(x), 2) as x_var,
round(avg(y), 2) as y_mean,
round(var_samp(y), 2) as y_var
from points
group by 1
quartet 로 구분되는 각 서브셋 데이터에 대하여 각 통계량 구하기.
평균은 avg() 로 많이 봤지만, 표본분산은 처음 마주했다.
📌 표본분산 구하는 함수는 var_samp() 이다.
2. 오늘의 회고
solve sql 문제를 계속 풀어보면서 패턴을 익히고 작성해봐야겠다. 난이도 1 도 결코 쉽지 않은 문제들이었다.
4.5개월 후에 지금을 돌아봤을 때, 후회하지 않기를 바라는 마음이다.
3. 내일의 계획
- (아티클) 비개발자를 위한 엑셀로 이해하는 SQL : FROM / SELECT / WHERE / ORDER BY
- (SQL) 세션 2회차 과제, solve sql 문제 연습
끝.
'내일배움캠프' 카테고리의 다른 글
| [SQL 라이브 세션 - 3회차] SQL 집계함수, 그룹화(GROUP BY/HAVING) (1) | 2025.08.12 |
|---|---|
| [내일배움캠프] '25.08.08(금) / 1주차(5) - 직무조사 발표 + SQL 문제 + 라이브 세션 (6) | 2025.08.08 |
| [내일배움캠프] '25.08.07(목) / 1주차(4) - 아티클 스터디 + 파이썬 기초 + SQL 연습문제 (2) | 2025.08.07 |