오늘은 QCC가 있던 날..
다 맞히겠다는 포부는 .. 언젠가부터 접었다
이번에 그래도 2문제라도 맞히고 싶었는데 1번에서 실수..
3번은 풀었다 한들 너무 길어서.. 어거지로 푼 느낌..
# 내가 푼 답
with null_cnt as (
select count(*) as cnts
from calls
where call_date <= '2024-04-15' and category is NULL or category = 'n/a'
)
select round((cnts / count(*))*100, 1) as uncategorised_call_pct
from calls, null_cnt
where call_date <= '2024-04-15'
with 구문 배웠다고 모든걸 해결하려는 사람..
근데 부등호기호를 넣어도 call_date가 날짜 타입이 아니기 때문에 15일이 포함이 되지 않아 틀렸다..
늘 내가 구한 조건 맞는지 한번씩 확인하기 ㅠ
#정답
select up.age_bucket,
round((sum(if(event_type = 'order', 1, 0)) / count(1)) * 100, 2) conversion_rate
-- 분자가 order한 수
-- 분모가 order / view 한 수
from user_prodfiles up join app_evetns ap on up.user_id = ap.user_id
where up.signup_date >= '2023-01-01'
and event_type in ('order', 'view')
group by 1
order by 1
뭔가 if 구문을 활용하기가 어려운 것 같다. .
# 내가 푼 답
-- datediff
select las.user_id,
datediff(last_, firs) as days_to_power_user
from
-- 10번째 주문 날짜, user_id
(
select order_datetime as last_,
user_id
from
(
select row_number () over (partition by user_id order by order_datetime) as ranking,
order_datetime,
user_id
from user_orders
) a
where ranking=10
) las
join
-- 1번째 주문 날짜, user_id
(
select firs, user_id
from
(
select row_number () over (partition by user_id order by order_datetime) as ranking,
order_datetime as firs,
user_id
from user_orders
) b
where ranking=1
) fir
on las.user_id=fir.user_id
order by days_to_power_user
limit 1
ㅋㅋㅋㅋㅋㅋ
세상에서 쿼리 제일 길게 쓰기 대회..
모든걸 서브쿼리로 해결하는 사람..
어케어케.. window function 써서 맞히긴 했는데.. 아무도 못알아볼듯..
#정답
select user_id,
datediff(tenth_ordertime, order_datetime)
from
(
select user_id,
order_datetime, -- n번째 주문
lead(order_datetime, 9) over
(partition by user_id order by order_datetime)
as tenth_ordertime -- n+9번째 주문
, row_number() over (partition by user_id order by order_datetime) as seq -- n
from user_orders
) a
where seq = 1 and tenth_ordertime is not null
order by 2
limit 1
진짜 어케 이렇게.. 쓰지.. 복습 다시 해야지..
오늘 머신러닝 과제 5번까지 풀고.. 태블로 강의 3주차까지 들었다.. 그건 주말에 정리 마저 하기로 하고..
태블로로 그래프 만드는거 재밌당~ 신기한 시각화의 세상
날씨가 넘 좋아서 자꾸 나가고 싶었다 ㅜ ㅜ 그냥 밖에 앉아있기만 해도 행복한 날씨
연휸데 잘 쉬고 공부도 적당히 해보자.. ㅍㅏ이팅