27,582
社区成员




select
stu_id,
count(1) as 应出勤,
sum(case wtu_type when 1 then 1 else 0 end) as [实出勤],
ltrim(sum(case wtu_type when 1 then 1 else 0 end)*100.0/count(1))+'%' as 出勤率,
sum(case wtu_type when 2 then 1 else 0 end) as [病假/事假],
sum(case wtu_type when 3 then 1 else 0 end) as [迟到/早退],
sum(case wtu_type when 4 then 1 else 0 end) as [旷课]
from
tb
group by
stu_id
--如果不是统计每个学生的 就这样
select
count(1) as 应出勤,
sum(case wtu_type when 1 then 1 else 0 end) as [实出勤],
ltrim(sum(case wtu_type when 1 then 1 else 0 end)*100.0/count(1))+'%' as 出勤率,
sum(case wtu_type when 2 then 1 else 0 end) as [病假/事假],
sum(case wtu_type when 3 then 1 else 0 end) as [迟到/早退],
sum(case wtu_type when 4 then 1 else 0 end) as [旷课]
from
tb
select
stu_id,
count(1) as 应出勤,
sum(case wtu_type when 1 then 1 else 0 end) as [实出勤],
ltrim(sum(case wtu_type when 1 then 1 else 0 end)*100.0/count(1))+'%' as 出勤率,
sum(case wtu_type when 2 then 1 else 0 end) as [病假/事假],
sum(case wtu_type when 3 then 1 else 0 end) as [迟到/早退],
sum(case wtu_type when 4 then 1 else 0 end) as [旷课]
group by
stu_id