表结构如下: 周次 学号 迟到 旷课 请假 早退
1 001 true false false false 1 009 false true false false 1 011 true false false false 1 021 true false false false 2 002 false false false true 2 012 false false false true 2 032 false false false true 3 004 false true false false求解怎么用count统计每周迟到旷课早退请假的人数并且和group by 按周次进行分组,生成如下效果的表: 周次 迟到人数 旷课人数 早退人数 请假人数 总计
1 3 1 0 0 4 2 0 0 3 0 3 3 0 1 0 0 1
求解啊, 谢谢
1 001 true false false false 1 009 false true false false 1 011 true false false false 1 021 true false false false 2 002 false false false true 2 012 false false false true 2 032 false false false true 3 004 false true false false求解怎么用count统计每周迟到旷课早退请假的人数并且和group by 按周次进行分组,生成如下效果的表: 周次 迟到人数 旷课人数 早退人数 请假人数 总计
1 3 1 0 0 4 2 0 0 3 0 3 3 0 1 0 0 1
求解啊, 谢谢
sum(case when 迟到='true' then 1 else 0 end),
sum(case when 旷课='true' then 1 else 0 end),
sum(case when 早退='true' then 1 else 0 end)
...
总计=sum(case when 迟到='true' then 1 else 0 end)+sum(case when 旷课='true' then 1 else 0 end)+...
from tb group by 周次
select
[周次],
[迟到]=sum(case when [迟到]='true' then 1 else 0 end),
[旷课]=sum(case when [旷课]='true' then 1 else 0 end),
[请假]=sum(case when [请假]='true' then 1 else 0 end),
[早退]=sum(case when [早退]='true' then 1 else 0 end)
from [TB]
GROUP BY [周次]