mysql的查询练习:统计两门及两门以上不及格者的平均成绩

该博客介绍了如何使用MySQL查询语句来统计在两门或更多科目中不及格的学生的平均成绩。首先,通过group by子句按学生姓名分组并计算平均分数,然后判断每个学生的不及格科目数量,最后使用having子句筛选出不及格科目数达到或超过2门的学生记录。
摘要由CSDN通过智能技术生成

±-----±--------±------+
| name | subject | score |
±-----±--------±------+
| 张三 | 数学 | 90 |
| 张三 | 语文 | 50 |
| 张三 | 地理 | 40 |
| 李四 | 语文 | 55 |
| 李四 | 政治 | 45 |
| 王五 | 政治 | 30 |
| 赵六 | 语文 | 100 |
| 赵六 | 数学 | 99 |
| 赵六 | 品德 | 98 |
±-----±--------±------+
整体思路:
第一步查看所有人的平均分;
select name,avg(score) from result group by name;
在这里插入图片描述

第二步再计算出每个人挂科情况;
select name,subject,score, score<60 as g from result;
挂科数就是g的综合,即sum(score<60)
在这里插入图片描述

第三部综合上面两个语句
select name,avg(score),sum(score<60) as gks from result group by name having gks;
在这里插入图片描述

最后筛选挂科数目大于等于2的人:
select name,avg(score),sum(score<60) as gks from result group by name having gks>=2;
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值