如何在共享同一GROUP BY的SQL中使用多个COUNT语句?

如何在共享同一GROUP BY的SQL中使用多个COUNT语句?,sql,join,count,Sql,Join,Count,我有以下输出正确数据的语句 SELECT COUNT (Section_ID) AS Sections FROM Section GROUP BY Location; SELECT COUNT (e.Section_ID) AS Students FROM Section s, Enrollment e WHERE s.Section_ID = e.Section_ID GROUP BY Location; 这个语句也输出了正确的数据 SELECT COUNT (Sectio

我有以下输出正确数据的语句

 SELECT COUNT (Section_ID) AS Sections
 FROM Section
 GROUP BY Location;
 SELECT COUNT (e.Section_ID) AS Students
 FROM Section s, Enrollment e
 WHERE s.Section_ID = e.Section_ID
 GROUP BY Location;
这个语句也输出了正确的数据

 SELECT COUNT (Section_ID) AS Sections
 FROM Section
 GROUP BY Location;
 SELECT COUNT (e.Section_ID) AS Students
 FROM Section s, Enrollment e
 WHERE s.Section_ID = e.Section_ID
 GROUP BY Location;
然而,当我这样把这些陈述放在一起时

 SELECT Location, COUNT(s.Section_ID) AS Sections, COUNT (e.Section_ID) AS Students
 FROM Section s, Enrollment e
 WHERE s.Section_ID = e.Section_ID
 GROUP BY Location;

各部分和学生现在共享相同的数据。如何将这些语句组合在一起?

首先,切勿在
FROM
子句中使用逗号。始终使用正确、明确的
JOIN
语法

其次,记住
COUNT()
的作用。它统计非空值的数量

一种方法是使用
COUNT(DISTINCT)


我必须猜测注册的主键是什么。我猜首先,不要在
FROM
子句中使用逗号。始终使用正确、明确的
JOIN
语法

其次,记住
COUNT()
的作用。它统计非空值的数量

一种方法是使用
COUNT(DISTINCT)


我必须猜测注册的主键是什么。我猜
学生ID

正确,这是学生ID。非常感谢,这完美地修复了它。正确,这是学生ID。非常感谢,这完美地修复了它。