题目描述
leetcode题目:1633. 各赛事的用户注册率
Code
select contest_id, round(count(*)/(select count(*) from Users)*100, 2) as percentage
from Register
group by contest_id
order by percentage desc, contest_id asc
COUNT()函数
COUNT函数用法:COUNT ( [ALL | DISTINCT] column | expression | *)
- ALL关键字指示统计所有值,而DISTINCT关键字强制函数仅对不同的值进行操作。 默认情况下,使用ALL选项。
- 条件表达式
- COUNT()函数中条件表达式加 OR null。例如,
SELECT COUNT(number > 200 OR null) FROM vf;
- COUNT()函数中条件表达式使用 if。例如,
SELECT COUNT(if(number > 200, 1, null)) FROM vf;
- COUNT()函数中条件表达式使用 case when。例如,
SELECT COUNT(case when number > 200 then 1 end) FROM vf;
- COUNT()函数中条件表达式加 OR null。例如,
记录自己的错误:
语句:
Right:select (select count(user_id) from Users)
Error:select count(select user_id from Users)
错误示例:count()里边不能加查询语句啊!!!
-- select contest_id, round(count(*)/count(select Users.user_id from Users)*100, 2) as percentage
参考文献:
sql—count() 中加表达式计数
count加表达式,Mysql中Count函数的正确使用!
SQL聚合函数
数据库的高级查询二:聚合函数(SUM、MAX,MIN,AVG,COUNT)