2010-03-20 81 views
0

我有两个表:主题和学生。 我想要统计每个学生注册的科目数量。我该怎么做呢?我正在尝试下面的代码,但它没有给出我需要的答案。请帮忙。帮助与SQL查询

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

如何表是什么样子? – Bjoern 2010-03-20 13:53:59

回答

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; 
1

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