Un GROUP BY ha bisogno di righe con cui lavorare, quindi se non hai righe per una determinata categoria, non otterrai il conteggio. Pensa alla clausola where come a limitare le righe di origine prima che vengano raggruppate insieme. La clausola where non fornisce un elenco di categorie in base alle quali raggruppare.
Quello che potresti fare è scrivere una query per selezionare le categorie (periferia), quindi eseguire il conteggio in una sottoquery. (Non sono sicuro di come sia il supporto di MySQL per questo)
Qualcosa come:
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, mi scuso)