HAVING фильтрует уже сгруппированные данные: города, где заказов больше N.
HAVING работает с агрегатами после GROUP BY. WHERE так не умеет.
Города, где больше 3 заказов.
... GROUP BY o.city HAVING COUNT(*) > 3
Для фильтра по агрегату нужен HAVING, а не WHERE.
Выведи города, где больше 3 заказов (city и order_count).