En GROUP BY har brug for rækker at arbejde med, så hvis du ikke har nogen rækker for en bestemt kategori, vil du ikke få optællingen. Tænk på where-sætningen som en begrænsning af kilderækkerne, før de grupperes sammen. Where-sætningen giver ikke en liste over kategorier at gruppere efter.
Hvad du kan gøre er at skrive en forespørgsel for at vælge kategorierne (forstæder) og derefter foretage optællingen i en underforespørgsel. (Jeg er ikke sikker på, hvordan MySQL's support til dette er)
Noget som:
SELECT
s.suburb_id,
(select count(*) from suburb_data d where d.suburb_id = s.suburb_id) as total
FROM
suburb_table s
WHERE
s.suburb_id in (1,2,3,4)
(MSSQL, undskyld)