题解 | #统计复旦用户8月练题情况#
统计复旦用户8月练题情况
https://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3
select device_id,university, #做题总数 count(question_id) question_cnt, #做对题的数量 sum(if(result='right',1,0)) right_question_cnt from user_profile u inner join question_practice_detail q using(device_id) #两个筛选条件 where university='复旦大学' and date_format(date,'%Y%m')=202108 group by device_id;
主要难点有两个
1、如何查询8月的总练习题数
2、如何查询做对的数量
A:
1:count(question_id) question_cnt 即总练习题数
2:sum(if(result=‘right’,1,0)) 用if函数,当result=right时 相当于做对了一次,就输出1,依次查询求和sum