--白天大班
select J_User_id,SUM(J_Hour) as 课时1 from ChildrenTeachingLog where datepart(hh,J_EDate)<19 and J_StudentNo>=5 group by J_User_id
--白天小班
select J_User_id,SUM(J_Hour) as 课时2 from ChildrenTeachingLog where datepart(hh,J_EDate)<19 and J_StudentNo<5 group by J_User_id
最终的效果是这样的

------解决方案--------------------
SELECT J_User_id,SUM([课时1]) as [课时1],SUM([课时2]) as [课时2] FROM
(
SELECT J_User_id,CASE WHEN J_StudentNo>=5 THEN J_Hour ELSE 0 END AS [课时1]
,CASE WHEN J_StudentNo<5 THEN J_Hour ELSE 0 END AS [课时2]
from #ChildrenTeachingLog where datepart(hh,J_EDate)<19
) t
group by J_User_id
J_User_id 课时1 课时2
---------- ----------- -----------
A 10 13
B 5 0
C 0 6
(3 行受影响)
------解决方案--------------------
select
J_User_id,
sum(case when J_StudentNo>=5 then J_Hour else 0 end) as 课时1,
sum(case when J_StudentNo<5 then J_Hour else 0 end) as 课时2
from
ChildrenTeachingLog
where
datepart(hh,J_EDate)<19
group by
J_User_id