题解 | 统计每个学校各难度的用户平均刷题数
统计每个学校各难度的用户平均刷题数
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的每一步提升!