结合两个表格计算学生参加考试的次数

Vip*_*agi 0 mysql count

我有下面两个表学生和考试: 学生表:

Id   Name
1    Samantha
2    Jane
3    Bob
4    Scarlet
5    David
Run Code Online (Sandbox Code Playgroud)

考试:

student_id   subject
1     Biology
1     physics
3     history
4     geography
4     geography
Run Code Online (Sandbox Code Playgroud)

现在我需要找出哪个学生参加了哪次考试多少次,我期望的确切结果是:

student.id examination.subject no_of_times
1          biology      1
1          physics      1
3          history      1
4          geography    2

Run Code Online (Sandbox Code Playgroud)

我尝试过以下查询,但得到了错误的答案:

select Student.id, examination.subject, count(*) from Student join examination Student.id = examination.student_id;

Run Code Online (Sandbox Code Playgroud)

请帮助我编写正确的查询以获得正确的预期输出!

谢谢你!

Tim*_*sen 5

对于您的确切查询,我们甚至不需要加入,我们可以只使用第二个Examination表:

SELECT student_id, subject, COUNT(*) AS no_of_times
FROM Examination
GROUP BY student_id, subject;
Run Code Online (Sandbox Code Playgroud)