select
case status
when 'AR' then 1
when 'AV' then 2
when 'AN' then 3
when 'AD' then 4
when 'AC' then 5
when 'AY' then 6
when 'AH' then 7
else 8
end 'status_order', COUNT(*)
from dn_appeal_request
group by
case status
when 'AR' then 1
when 'AV' then 2
when 'AN' then 3
when 'AD' then 4
when 'AC' then 5
when 'AY' then 6
when 'AH' then 7
else 8
end
is there a way to do a group by without using the same case statement used in the select?
You can avoid repeating your case statement by using a sub-query. You do need to group on the value.