카테고리 없음
[SQL] 문제풀이_ Confirmation Rate
journal201
2024. 9. 9. 10:33
A. Confirmation Rate
1. 논리 펼치기
1) signups를 기준으로 confirmations left join
2) singups의 user_id 별로 그룹 묶기
3) action이 confirmed인 것을 평균 구하기
4) round처리하기
2. 첫 번째 코드
# Write your MySQL query statement below
select distinct s.user_id
, sum(if c.action = "confirmed " then 1 else 0)/count(s.user_id)
from signups s
left join confirmations c
on s.user_id = c.user_id
결과 : Runtime Error
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near 'c.action = "confirmed " then 1 else 0)/count(s.user_id)
from signups s
left join' at line 3
2. 두 번째 코드
# Write your MySQL query statement below
select distinct s.user_id
,round(avg(if(c.action = "confirmed ",1,0)),2) as confirmation_rate
from signups s
left join confirmations c
on s.user_id = c.user_id
group by s.user_id
결과: Accepted
B. 주의할 점
SQL 은 Python과 달리 if문을 사용하는 방법이 다르다.