1633. 各赛事的用户注册率
问题分析
编写解决方案统计出各赛事的用户注册百分率,保留两位小数。返回的结果表按 percentage 的 降序 排序,若相同则按 contest_id 的 升序 排序。
注册率是单个项目的注册人数与总人数的比率。
涉及的知识点主要是分组,排序,保留小数位,这道题很基础。
思路
- 计算Users表内所有数据量,
SELECT COUNT(*) FROM Users
- 分组,计算每个contest_id下的数据量,并计算比率
- 对数据按照percentage和contest_id排序
完整sql代码
SELECT R.contest_id,
ROUND(COUNT(R.user_id)
/(SELECT COUNT(*) FROM Users)*100,2)
AS percentage
FROM Register R
GROUP BY R.contest_id
ORDER BY percentage DESC,R.contest_id ASC
;