gpt4 book ai didi

mysql - 过滤尚未通过科目的学生

转载 作者:行者123 更新时间:2023-11-29 05:19:55 26 4
gpt4 key购买 nike

我有一个 MySql 表,它具有以下值:

表名'结果'

Reg.No  SubjectCode  Attempt  Pass/Fail
112108 CMIS 1113 1 fail
112110 CMIS 1114 1 pass
112119 CMIS 1114 1 fail
112108 CMIS 1113 2 fail
112107 CMIS 1113 1 fail
112108 CMIS 1113 3 pass

学生可以多次尝试通过该科目。学生应该通过每个科目才能获得学位。一些学生第一次尝试就通过了。有些需要超过 3 次尝试。但是学生可以尝试直到他/她通过。但有些仍然失败。所以我想获得仍然无法通过该科目的学生的Reg.No。
例如:112119112107 仍然无法通过他们的主题。
我无法为这个问题编写查询。

最佳答案

我建议使用聚合:

SELECT `Reg.No`, SubjectCode, SUM(`Pass/Fail` = 'Pass')
FROM results
GROUP BY `Reg.No`, SubjectCode
HAVING SUM(`Pass/Fail` = 'Pass') = 0;

HAVING 子句计算每个学生和类(class)的结果数,其中最后一列是 'Pass'。在 MySQL 中, bool 值在数字上下文中被视为整数,true 为 1。因此,sum(Pass/Fail= 'Pass') 计算 a 的次数学生通过了类(class)。 = 0 表示学生从未通过类(class)。

作为建议,不要在列名中放入特殊字符,例如/.。这需要对列进行转义,只会使代码更难编写,因为它充满了反引号。

关于mysql - 过滤尚未通过科目的学生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27323377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com