GRUPA WEDŁUG wymaga wierszy do pracy, więc jeśli nie masz wierszy dla określonej kategorii, nie uzyskasz wyniku. Pomyśl o klauzuli where jako o ograniczeniu wierszy źródłowych przed ich zgrupowaniem. Klauzula where nie zawiera listy kategorii, według których można pogrupować.
To, co możesz zrobić, to napisać zapytanie, aby wybrać kategorie (przedmieścia), a następnie zliczyć w podzapytaniu. (Nie jestem pewien, jak wygląda obsługa tego przez MySQL)
Coś takiego:
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, przepraszam)