题解 | 统计每个学校各难度的用户平均刷题数
统计每个学校各难度的用户平均刷题数
https://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8
select
university,
difficult_level,
count(qpd.device_id) / count(distinct qpd.device_id) as avg_answer_cnt
from
user_profile u,
question_practice_detail qpd,
question_detail qd
where
u.device_id = qpd.device_id
and qpd.question_id = qd.question_id
group by
u.university,
qd.difficult_level;
ROUND(number, decimals)
number:这是你想要舍入的数值。它可以是一个列名,也可以是直接给出的数值。decimals:这是你想要保留的小数位数。如果省略这个参数,或者将其设置为0,那么函数将返回最接近的整数。如果你想要舍入到小数点后特定的位数,那么你可以指定一个正整数。如果你想要对整数进行舍入(即舍入到最接近的10、100、1000等),那么你可以指定一个负整数。
上方代码应该修改成:
select
university,
difficult_level,
round(count(qpd.device_id) / count(distinct qpd.device_id),4) as avg_answer_cnt
from
user_profile u,
question_practice_detail qpd,
question_detail qd
where
u.device_id = qpd.device_id
and qpd.question_id = qd.question_id
group by
u.university,
qd.difficult_level;
SQL练练练 文章被收录于专栏
记录自己sql的每一步提升!
