php - MySQL查询选出成绩不全的学生 'A'

标签 php mysql database database-administration

我有两个表,gradereportstudent

gradereport 表有 studentNo,它是表 student 的外键,它还有每个学生的成绩,

我必须查询 gradereport 表,找出哪些学生在他们所修类(class)中的成绩不是全“A”。

如果他们有任何不是“A”的成绩,那么他们不应包含在结果中。

我如何查询表 gradereport 以查找类(class)中没有全部获得“A”的学生。

成绩报告表

gradereport table

学生表

student table

最佳答案

所有成绩都不是 A 的学生会被认为是

select s.*,
gr.section,
gr.grade 
from student s 
join gradereport gr on gr.studentNo = s.studentnumber 
group by s.studentnumber,gr.section 
having sum(gr.grade='A') <> count(*) ;

或者如果你不关心部分那么

select s.* 
from student s 
join gradereport gr on gr.studentNo = s.studentnumber 
group by s.studentnumber 
having sum(gr.grade='A') <> count(*)

关于php - MySQL查询选出成绩不全的学生 'A',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131538/

相关文章:

mysql - 迁移 MySQL 服务器会破坏程序

php - 如何通过谷歌分析知道有多少收件人打开了电子邮件?

php - 如何使用其他表中的外键删除具有主键的行?

javascript - 受javascript影响后如何恢复到原来的DOM

来自子查询的 MySQL IN 值

C#数据库连接保存在DLL中调用

php - 找不到 Pear DB 类

php - mysql查询性能指标

python - 如何使用 SQLAlchemy 将一个类映射到多个表?

mysql - 在 N-M 关系中具有复合主键