SQL 根据查询和子查询分组

SQL group by on query and subquery

我将几张表组合在一起: 部门 > 会议 > 注册 > 注册周天

每个部门有几个 session,每个 session 有几个注册,每个注册都有工作日选项(M-F、MWF、T/Th)。

我有这个问题:

SELECT d.Name, r.Weekdays, COUNT(r.weekdays) from divisions d
left join sessions s on s.DivisionID = d.ID
left join registrations r on r.SessionID = s.ID
order by r.Weekdays

此查询包含我需要的所有信息,但我试图以这种方式进行分组以获得每个部门的工作日选项计数,有点像这样:

Div | Weekday Option| Count
Div1| M-F           | 4
Div1| MWF           | 5
Div1| T/Th          | 3
Div2| M-F           | 7

这对 SQL 行家来说应该不会太难,但是我的 group by 语句总是漏掉我需要的信息,我不太确定如何获得上面的格式。任何建议都很好,我相信有几个正确的答案!

您是否尝试对“d.Name、r.Weekdays”列进行分组?
代码在这里:

SELECT d.Name, r.Weekdays, COUNT(r.weekdays) 
FROM divisions d
    left join sessions s on s.DivisionID = d.ID
    left join registrations r on r.SessionID = s.ID
group by d.Name, r.Weekdays
order by r.Weekdays