sqlserver如何实现同一个表中多个count查询并且分组并且统计总数

qin1826681768 2012-12-27 10:36:47
表结构如下:

周次 学号 迟到 旷课 请假 早退

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


求解啊, 谢谢
...全文
952 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangshun 2012-12-27
  • 打赏
  • 举报
回复
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 [周次]
快溜 2012-12-27
  • 打赏
  • 举报
回复
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)+sum(case when 旷课='true' then 1 else 0 end)+... from tb group by 周次

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧