LC 速查

SQL 50索引 › A2 Basic Joins 基础 JOIN

LC 1934确认率Confirmation Rate 中等

Signups 是注册用户,Confirmations 记录验证动作(confirmed/timeout);求每位用户的确认率(confirmed 占比),保留 2 位小数,未验证用户为 0。

思路 LEFT JOIN + AVG(IF(条件,1,0)) 把布尔转 0/1 求平均。

SELECT 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;

数据表:Signups,Confirmations · 关键字:求每位用户的确认率(confirmed 占比),保留 2 位小数,未验证用户为 0

← 上一题 至少有5名直接下属的经理有趣的电影 下一题 →