Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql sql查询:统计每个学生注册的科目数_Mysql - Fatal编程技术网

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;