SQL Syabse - return rows where certain value changes

Hi,
I need help selecting rows from a table when a certain column value (City) changes.

In this example of table rows:

ID City Updated_By Updated_Date
99999 PARIS JOHN 04/05/2010 11:28:09.813
99999 PARIS JOHN 04/05/2010 11:32:05.240
99999 PARIS JOHN 04/05/2010 11:32:20.750
99999 PARIS GREG 05/05/2010 11:16:24.433
99999 PARIS GREG 05/05/2010 11:16:24.433
99999 BERLIN DAVID 18/06/2010 12:13:43.546
99999 PARIS DAVID 18/06/2010 12:13:43.546
99999 BERLIN ADAM 30/06/2010 15:20:13.266
99999 BERLIN ADAM 30/06/2010 15:20:13.266
99999 BERLIN KATH 30/06/2010 15:20:17.313
99999 BERLIN KATH 30/06/2010 15:20:17.313
99999 BERLIN SUSAN 04/02/2011 15:14:19.250

...I need to return only the following rows (ie when city value changes):

ID City Updated_By Updated_Date
99999 PARIS JOHN 04/05/2010 11:28:09.813
99999 BERLIN DAVID 18/06/2010 12:13:43.546
99999 PARIS DAVID 18/06/2010 12:13:43.546
99999 BERLIN ADAM 30/06/2010 15:20:13.266

Any help greatly appreciated.
Thanks!!

Selecting occurs when you submit the query. Triggers can watch columns and act on changes, but they are on someone else's connection, the updating process connection. You could copy their keys, the date-time and the old city or row to a history table using a trigger, then use that in your query.