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
我将几张表组合在一起: 部门 > 会议 > 注册 > 注册周天
每个部门有几个 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