多个连接的 GROUP BY 子句

GROUP BY clause on multiple joins

我需要展示Class这样的智慧出勤

IN DB 我有单独的 table(studentattendance),像这样存储出勤率

我只需要显示每个 Class

在场的学生总数

我尝试做这样的查询

这是我的查询

SELECT distinct CM.ClassName ,SB.SubjectName ,(select count(studentattendance.Day1) from studentattendance where day1 = 'P') as Present, convert(varchar(10),AttendanceDate ,126)  as AttendancetimeTaken
      from studentattendance SA inner join studentmaster SM on SA.StudentID=SM.ID  join ProfessorMaster p on SA.ProfessorID =p.Id 
      join Classmaster CM on SA.ClassID = CM.ID inner join SubjectMaster SB on SA.SubjectID =SB.ID

我需要组 Class 智者。我该怎么做

由于没有实际表格,我尝试了以下修改,请尝试并回复我

SELECT CM.ClassName ,
SB.SubjectName , count(SA.Day1) as Present,
convert(varchar(10),AttendanceDate , 126)  as AttendancetimeTaken
from studentattendance SA 
inner join studentmaster SM on SA.StudentID=SM.ID  
join ProfessorMaster p on SA.ProfessorID =p.Id 
join Classmaster CM on SA.ClassID = CM.ID 
inner join SubjectMaster SB on SA.SubjectID =SB.ID
where SA.day1 = 'P'
group by CM.ClassName, SB.SubjectName, AttendanceDate