Case ist auch bei Group-By sehr schön zu verwenden, da im Group auch Ausdrücke erlaubt sind:

select firma, werk,
case
when kdnr between 1000 and 2000 then 'A'
when kdnr between 2001 and 5000 then 'B'
else 'C'
end as KDGRP
, sum(Umsatz)
from myfile
where ...
group by Firma, Werk,
case
when kdnr between 1000 and 2000 then 'A'
when kdnr between 2001 and 5000 then 'B'
else 'C'
end