Follow the advice in the following article:
http://www.4guysfromrolla.com/webtech/sqlguru/q051200-2.shtml[
^]
However, instead of deleting every dulicate row, loop through each row. If it matches the previous row and your boolean flag is false, delete it and set a boolean flag to true. Then, if the next row matches, check the boolean flag and, since it is true, don't delete that row. When a row is different than the previous row, set the boolean flag to false. This will delete one of each duplicate row in your database.