select
f1=case when left(f1,2) in ('05','06','07') then '05'+substring(f1,3,2) else f1 end,
f2=sum(f2),f3=min(na)
from t
group by case when left(f1,2) in ('05','06','07') then '05'+substring(f1,3,2) else f1 end
f1=case when left(f1,2) in ('05','06','07') then '05'+substring(f1,3,2) else f1 end,
f2=sum(f2),f3=min(na)
from t
group by case when left(f1,2) in ('05','06','07') then '05'+substring(f1,3,2) else f1 end
a.f1,
b.f2,
f3=a.na
from
t a,
(select
f1 = case when(left(f1,2) in('06','07')) then '05'+stuff(f1,1,2,'') else f1 end,
f2 = sum(f2)
from
t
group by
case when(left(f1,2) in('06','07')) then '05'+stuff(f1,1,2,'') else f1 end) b
where
a.f1 = b.f1
f1=(case when f1 in ('0501','0601','0701') then '0501'
when f1 in ('0702','0502') then '0502'
when f1='0703' then '0503'
else f1 end),
f2=sum(f2),f3=min(na)
from 表a
group by f1