select * from DB_PATCH a
where lower(a.db_name) in (select lower(db_name) from DB_PATCH group by lower(db_name) having count(*) > 1)
delete from DB_PATCH a
where lower(a.db_name) in (select lower(db_name) from DB_PATCH group by lower(db_name) having count(*) > 1)
and rowid not in (select min(rowid) from DB_PATCH group by lower(db_name) having count(*) > 1)
http://blog.csdn.net/a11085013/article/details/8549256