帮助sql查询

时间:2010-03-20 13:51:17

标签: mysql

我有两张桌子:主题和学生。 我正在计算每个学生注册的科目数。我该怎么做?我正在尝试下面的代码,但它没有给出我需要的答案。请帮忙。

SELECT COUNT( subject.SUBJECT ) , student.IDNO, student.FIRSTNAME, subject.SUBJECT
FROM student, subject
GROUP BY subject.SUBJECT
LIMIT 0 , 30

2 个答案:

答案 0 :(得分:1)

您缺少连接条件。在某个地方,您存储的信息是每个学生正在学习的科目。也许是WHERE subject.student_id = student.id

答案 1 :(得分:1)

你也有入学表,不是吗?解决学生与学科之间的多对多关系。你可以解决这个问题。比如,您的注册表有studentID和subjectID列,那么您只需要:

SELECT studentID, COUNT(*) FROM Enrolment GROUP BY studentId;

或者,也包括他们的名字,

SELECT s.firstname, COUNT(*) FROM Enrolment e JOIN student s on e.studentId=s.IDNO GROUP BY e.studentId;