当前位置:网站首页>一道很简答但是没答对的SQL题

一道很简答但是没答对的SQL题

2022-08-09 06:20:00 Hejjon

题干: 用一条SQL语句查询出每门课程成绩都大于80分的学生姓名.

t_score 表

解答: 

第一步: 先查出所有成绩中的最小值

select name, min(score) from t_score;

这只能显示一条数据, 是所有学生中成绩最低的那一条.

第二步: 考虑到要每个学生成绩都要大于80, 重点是每个, 于是按姓名分组

select `name`, min(score) minScore from t_score group by `name` 

此时的结果是

意思是 张三最低成绩是76分, 李四最低分是83分, 王五最低分是82分.

第三步: 也就是最后的过滤, 把最低分数大于80的挑选出来.

select `name`, min(score) minScore from t_score group by `name` having minScore > 80;

注意此处只能用having, 不能用 where.

 

原网站

版权声明
本文为[Hejjon]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_42026600/article/details/126231790