Exibir zero usando count (*) se nenhum resultado for retornado para um caso específico

Eu tenho uma consulta como essa que retorna o número de linhas para cada caso na cidade.

select 
    case edition_id 
        when 6 then 'DELHI' 
        when 50 then 'AHMEDABAD' 
        when 4 then 'HYDERABAD' 
        when 25 then 'KOLKATA' 
        when 51 then 'BANGALORE' 
        when 5 then 'MUMBAI' 
        when 24 then 'CHENNAI' 
    end as CITY,
    count(*) as Total 
from #tmptab1
group by edition_id

drop table #tmptab1

O resultado acaba por ser como

CITY    Total
MUMBAI  1
DELHI   28
CHENNAI 1
KOLKATA 35
AHMEDABAD 3

Portanto, se não houver linhas retornadas de uma cidade, essa cidade será omitida no resultado final

Quero resultado como

CITY    Total
MUMBAI  1
DELHI   28
CHENNAI 1
KOLKATA 35
AHMEDABAD 3
BANGALORE 0 -- if no result from bangalore display zero.

Como fazer isso ?

eu tentei

case count(*)>0 then count(*) else 0 end as Total 

mas não funciona

questionAnswers(2)

yourAnswerToTheQuestion