En GROUP BY behöver rader att arbeta med, så om du inte har några rader för en viss kategori kommer du inte att få räkningen. Tänk på where-satsen som en begränsning av källraderna innan de grupperas tillsammans. Where-satsen tillhandahåller inte en lista över kategorier att gruppera efter.
Vad du kan göra är att skriva en fråga för att välja kategorier (förorter) och sedan räkna i en underfråga. (Jag är inte säker på hur MySQL:s stöd för detta är)
Något i stil med:
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, ursäkta)