如何查找所有在同一日期内完成一项以上考试的学生整个考试期间

时间:2019-03-02 21:38:14

标签: mysql sql

我的表格由学生编号,科目,考试日期组成,通过使用此查询,我可以找到参加一项以上考试的学生

SELECT 
     student_number, subject, exam_date
FROM 
     tables
WHERE 
    dates ='01-01-2019' And 
    student_number IN (
         SELECT student_number
         FROM tables WHERE dates ="01-01-2019"
         GROUP BY student_number
         HAVING COUNT(student_number) > 1
         )  

但是,我想查找所有在整个考试期间(日期列表)在同一日期进行过一项考试的学生,而不是分别键入每个日期。

2 个答案:

答案 0 :(得分:1)

您与小组成员的关系非常密切。

SELECT student_number, exam_date
FROM tables
GROUP BY student_number, exam_date
HAVING count(*)>1

这应该可以帮助您入门,您可以通过 GROUP BY ...

了解正确的想法

答案 1 :(得分:0)

我猜想,如果一个学生在同一日期进行了多个考试,那么这些考试将针对不同的科目。
这样您就可以使用EXISTS获得所需的东西:

{{1}}