oracle数据库中怎样删除一个表的重复数据

要求只用一条sql语句完成操作。并且在只知道表结构的情况下(表内容不知)。
例如:
id name
--- ---------
1 z
1 f
2 z
1 z
3 f
1 z
表中,要删除第4、6行数据。怎么删?

DELETE 
  FROM table_name a
  WHERE rowid > ( SELECT min(rowid)
  FROM table_name b
  WHERE b.id = a.id and b.name=a.name);
posted @ 2015-03-30 14:10  懒懒的猫猫  阅读(174)  评论(0编辑  收藏  举报