1934.确认率
1.问题关键精炼:
- 确认率是confirmed消息的数量除以请求的确认消息的总数。
- 没有请求任何确认消息的用户的确认率为0。
- 确认率四舍五入到小数点后两位
2.难点解析:
我觉得这道题是考察AVG函数的使用。 根据需求可以看出,答案也就是一个公式:confirmed消息的数量 / 总数。 可以考虑使用AVG函数,需要注意的是AVG函数是可以写条件判断的。
3.编写思路
- 使用AVG函数计算confirmed的平均值,如果不存在则为NULL
- 使用IFNULL把NULL值转换为0
- 最后使用ROUND精确到小数点后两位
4.SQL语句:
SELECT
s.user_id,
ROUND(IFNULL(AVG(c.action='confirmed'), 0), 2) AS confirmation_rate
FROM
Signups AS s
LEFT JOIN
Confirmations AS c
ON
s.user_id = c.user_id
GROUP BY
s.user_id
标签:confirmed,确认,LeetCode,user,1934,AVG,id
From: https://www.cnblogs.com/chy07/p/17697115.html