Mysql 我的查询缺少一个具有零的行

Mysql 我的查询缺少一个具有零的行,mysql,sql,Mysql,Sql,我搜索了这个问题的答案,但没有找到这个具体问题的答案。我正在制作一个数据库,用于存储老师创建的课程,并为每个课程注册的学生制作一个查找表。我想运行一个查询,显示每个老师的班级和学生人数。正如您在下面的数据中所看到的,老师有两个班级,没有学生,但在查询中只有一个班级返回 查询: SELECT `c`.`ClassID` AS `id`, `c`.`Class_Name` AS `name`, `c`.`Class_Code` AS `code`, COUNT(`e`.`EnrollID

我搜索了这个问题的答案,但没有找到这个具体问题的答案。我正在制作一个数据库,用于存储老师创建的课程,并为每个课程注册的学生制作一个查找表。我想运行一个查询,显示每个老师的班级和学生人数。正如您在下面的数据中所看到的,老师有两个班级,没有学生,但在查询中只有一个班级返回

查询:

SELECT `c`.`ClassID` AS `id`,
  `c`.`Class_Name` AS `name`,
  `c`.`Class_Code` AS `code`,
  COUNT(`e`.`EnrollID`) AS `count`

FROM `CMP_Classes` `c`

LEFT OUTER JOIN `CMP_Student_Enrollment` `e`
  ON `c`.`ClassID` = `e`.`Enroll_ClassID`
  AND `Class_Teacher` = 1

GROUP BY `e`.`EnrollID`
数据:

CMP_类别表:

ClassID | Class_Name                  | Class_Code | Class_Teacher
1       | Mr. Jones' 1st Period Class | QYTNPCGK   | 1
2       | Mr. Jones' 2nd Period Class | HZWNDZPM   | 1
3       | Pizza                       | RRCXQNNE   | 9
4       | Mr. Jones' 3rd Period Class | NFLBXFEQ   | 1
CMP\U学生注册表:

EnrollID | Enroll_Student | Enroll_ClassID
3        | 2              | 1
查询结果:

id | name                        | code     | count
2  | Mr. Jones' 2nd Period Class | HZWNDZPM | 0
1  | Mr. Jones' 1st Period Class | QYTNPCGK | 1
因此,正如您所看到的,琼斯先生的第三节课没有行,但应该有。

您需要在选择中按未聚合的列进行分组:


查询中的所有反勾号都使读写更加困难。

啊,对不起。我需要那些PHP的背景标记。。。我试试你的建议。谢谢谢谢这就解决了!我确实必须逐行从组中删除AS id等,但它起了作用。
SELECT c.ClassID AS id, c.Class_Name AS name, c.Class_Code AS code,
       COUNT(e.EnrollID) AS `count`
FROM CMP_Classes c LEFT OUTER JOIN
     CMP_Student_Enrollment e
     ON c.ClassID = e.Enroll_ClassID
WHERE c.Class_Teacher = 1
GROUP BY c.ClassID, c.Class_Name, c.Class_Code;