Dos posibilidades:
select
group_concat(houses), count(*), city
from
Table1
group by city;
o
select a.houses, a.city, noofhouses
from Table1 a
inner join (
select
count(*) as noofhouses, city
from Table1
group by city
) b on a.city = b.city
order by a.city, noofhouses desc, a.houses;
- véalos trabajando en vivo en un sqlfiddle
No es exactamente como su salida, pero la información que contiene es la misma. Las bases de datos no existen para formatear bien los datos. Esto debe hacerse en la capa de aplicación.