insert into tab select '80466' ,'WD'
union select '80466' ,'YD'
union select '80466' ,'YD'
union select '80466' ,'YD'
union select '80466' ,'SC'
union select '80466' ,'BC'
union select '80467' ,'WD'
select 工号 ,
sum(case 状态 when 'WD' then num else 0 end ) as WD
, sum(case 状态 when 'YD' then num else 0 end ) as YD
, sum(case 状态 when 'SC' then num else 0 end ) as SC
, sum(case 状态 when 'BC' then num else 0 end ) as BC
from (
select 工号 , 状态 ,count(工号) as num from tab
group by 工号 , 状态
) A
group by 工号
/*
工号 WD YD SC BC
---------- ----------- ----------- ----------- -----------
80466 1 1 1 1
80467 1 0 0 0