SQL视图只返回一行

SQL视图只返回一行,sql,view,count,sequelpro,Sql,View,Count,Sequelpro,我试图创建一个视图,返回每个加州学生注册的课程数量。我的“学生”表中列出了4个CA学生,所以它应该返回这么多行 create or replace view s2018_courses as select Students.*, COUNT(Current_Schedule.ID) EnrolledCourses from Students, Current_Schedule where Students.ID = Current_Schedule.ID AND state='CA'; 但是

我试图创建一个视图,返回每个加州学生注册的课程数量。我的“学生”表中列出了4个CA学生,所以它应该返回这么多行

create or replace view s2018_courses as 
select Students.*, COUNT(Current_Schedule.ID) EnrolledCourses
from Students, Current_Schedule
where Students.ID = Current_Schedule.ID AND state='CA';
但是,此查询仅返回一行,其中包含一个学生的信息,以及所有CA学生的课程总数(在本例中为14,因为每个学生都注册了3-5个课程)


我最近创建了一个类似的视图(在另一个DB中),它工作得很好,执行了多行,所以我不确定出了什么问题?抱歉,如果这是一个令人困惑的问题,我是SQL和StackOverflow新手!!提前感谢您的建议

查询/视图中缺少聚合步骤:

CREATE OR REPLACE VIEW s2018_courses AS 
SELECT
    s.ID, COUNT(cs.ID) EnrolledCourses
FROM Students s
INNER JOIN Current_Schedule cs
    ON s.ID = cs.ID
WHERE
    state = 'CA'
GROUP BY
    s.ID;
当前查询的逻辑问题是,您使用的是
COUNT(*)
,而不是
groupby
,MySQL将此解释为您希望对整个表进行计数。还要注意,我在上面的查询中只选择了
ID
,因为这是用来聚合的