1934. Confirmation Rate : leetcode

오유찬·2025년 12월 1일

SQL

목록 보기
13/70
user_idtime_stampaction
32021-01-06 03:30:46timeout
32021-07-14 14:00:00timeout
72021-06-12 11:57:29confirmed
72021-06-13 12:58:28confirmed
72021-06-14 13:59:27confirmed
22021-01-22 00:00:00confirmed
22021-02-28 23:59:59timeout
# action : string → integer
SELECT  user_id, 
        (CASE
        WHEN action = 'timeout' THEN 0
        ELSE 1 END) AS action
FROM    Confirmations;
user_idaction
30
30
71
71
71
21
20
# AVG(action)
SELECT  user_id, AVG(action)
FROM
(SELECT  user_id, 
        (CASE
        WHEN action = 'timeout' THEN 0
        ELSE 1 END) AS action
FROM    Confirmations) as confirm_int
GROUP BY user_id;
user_idAVG(action)
30
71
20.5



answer

SELECT s.user_id, ROUND(IFNULL(c.confirmation_rate, 0), 2) as confirmation_rate
FROM Signups s LEFT JOIN
    (SELECT  user_id, AVG(action) as confirmation_rate
    FROM
    (SELECT  user_id, 
            (CASE
            WHEN action = 'timeout' THEN 0
            ELSE 1 END) AS action
    FROM    Confirmations) AS c1
    GROUP BY user_id) as c
        ON s.user_id = c.user_id;
user_idconfirmation_rate
60
30
71
20.5
profile
열심히 하면 재밌다

0개의 댓글