1.- Si solamente necesitás nombre y ciudad, no uses SELECT * sino SELECT nombre, ciudad. Mejora el rendimiento
2.- Podés usar ORDER BY para que los resultados te lleguen ordenados por ciudad, y entonces lo que podés hacer es:
imprimir ciudad1
imprimir nombre1
si ciudadN = ciudad1
imprimir nombreN
sino
imprimir ciudadN
imprimir nombre
dentro del while que recorre los resultados.
Saludos.