Mysql sql查询:统计每个学生注册的科目数
我有两张桌子:学科和学生。 我在计算每个学生注册的科目数量。我该怎么做?我正在尝试下面的代码,但它没有给出我需要的答案Mysql sql查询:统计每个学生注册的科目数,mysql,Mysql,我有两张桌子:学科和学生。 我在计算每个学生注册的科目数量。我该怎么做?我正在尝试下面的代码,但它没有给出我需要的答案 SELECT COUNT( subject.SUBJECT ) , student.IDNO, student.FIRSTNAME, subject.SUBJECT FROM student, subject GROUP BY subject.SUBJECT LIMIT 0 , 30 您缺少联接条件。在某个地方,你可以存储关于每个学生所学科目的信息。也许那里subject.s
SELECT COUNT( subject.SUBJECT ) , student.IDNO, student.FIRSTNAME, subject.SUBJECT
FROM student, subject
GROUP BY subject.SUBJECT
LIMIT 0 , 30
您缺少联接条件。在某个地方,你可以存储关于每个学生所学科目的信息。也许
那里subject.student\u id=student.id
你也有一张报名表,不是吗?解决学生与学科之间的多对多关系。你可以这样做。比如说,您的登记表有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;