牛客刷SQL题Day4

SQL35 浙大不同难度题目的正确率


select difficult_level,avg(if(qpd.result='right',1,0)) correct_rate

from 
user_profile up
left join
question_practice_detail qpd
on up.device_id= qpd.device_id

left join 
question_detail qd
on qpd.question_id = qd.question_id 
where  university='浙江大学' 
group by qd.difficult_level
having qd.difficult_level!='None'
order by  correct_rate

踩坑一:

        多个表连接的方法:From之后直接连着join

踩坑二:

        avg(if(qpd.result='right',1,0)) correct_rate 的用法。

踩坑三(最关键的踩坑,  很隐秘):

        下图difficult_level字段数据中没有None,但是代码中出现了None。这个问题的出现是由于连接的时候,有difficult_level字段中的数据出现了None,这个时候解决方案:

select difficult_level,avg(if(qpd.result='right',1,0)) correct_rate

from 
user_profile up
left join
question_practice_detail qpd
on up.device_id= qpd.device_id

left join 
question_detail qd
on qpd.question_id = qd.question_id 
where  university='浙江大学' 
group by qd.difficult_level
# having qd.difficult_level!='None'
order by  correct_rate

 SQL38 查找后降序排列

select device_id, gpa,age
from user_profile
order by  gpa desc ,age desc

       踩坑:

                降序,每个字段都要加desc

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值