Grouping of related records

I have something that I wonder if I can do better. I have a list or records, employee records

Marco from Amsterdam Silvia from Amsterdam Enola from Rotterdam Elisa From Utrecht

These are now shown as

Amsterdam Marco Amsterdam Silvia Rotterdam Enola Utrecht Elisa

What I would really want is

Amsterdam Marco Silvia

Rotterdam Enola

Utrecht Elisa

So to have them grouped by the City from which they come from Is there an elegant solution to this? I know a couple, but all seem like nasty hacks (like putting all the cities up and query each and every city)

Assuming that each record has name and city as attributes you could do something like:

last_city = nil @results.each do |r|    if last_city != r.city then      puts "\n" unless r == @results.first      puts r.city      last_city = r.city    end    puts r.name end

My memory is there's a nifty way to do it in Ruby, but I can't recall what it is right now...