【发布时间】:2016-09-06 16:58:16
【问题描述】:
首先,提前感谢您的帮助。这是我关于 SOF 的第一个问题。
我有以下 SQL 数据库表。
qualificationTable:
QualId studentNo CourseName Percentage
1 1 A 91
2 1 B 81
3 1 C 71
4 1 D 61
5 2 A 91
6 2 B 81
7 2 C 71
8 2 D 59
testTable:
TestId studentNo testNo Percentage dateTaken
1 1 1 91 2016-05-02
2 1 2 41 2015-05-02
3 1 3 71 2016-04-02
4 1 1 95 2014-05-02
5 1 2 83 2016-01-02
6 1 3 28 2015-05-02
7 2 1 90 2016-05-02
8 2 2 99 2016-05-02
9 2 3 87 2016-05-02
我分别为课程 A、B、C 和 D 指定了最低百分比。我需要搜索符合所有课程最低标准的学生。
第 2 部分: 该学生还应符合 testTable 中的标准(分别为三个测试 1、2 和 3 指定的最小百分比)。
换句话说,如果学生符合为所有课程单独指定的最低标准(百分比),则应该选择他。现在,testTable 也是如此,那个特定的学生(在qualificationTable 中被选中)应该在testNo 列中为三个测试(1,2 和3)分别指定最低标准(百分比)。
编辑:
我已经更新了 testTable,现在有针对特定学生的多个测试。我需要检查学生是否满足所有 3 项测试指定的最低要求百分比,但是,只有最近参加的每项测试(1,2 和 3)才应该计算在内。如果学生不符合为最近一次测试指定的最低标准,则不应包括在内。
测试用例:
要求的最低资格百分比:
课程A:90课程B:80课程C:70课程D:60
所需的最低测试百分比:
测试 1:90 测试 2:80 测试 3:70
预期输出
studentNo
1
干杯
【问题讨论】:
-
count(distinct CourseName)? -
你能发布你的预期输出吗?
标签: mysql sql database algorithm conditional-statements