【问题标题】:SQL Solution for deleting duplicates till 0 rows deleted删除重复项直到删除 0 行的 SQL 解决方案
【发布时间】:2017-09-13 00:17:05
【问题描述】:

实际上我正在寻找一个 sql 语句,它会删除我的重复记录,直到删除 0 行。

下面的 sql 语句已经删除了重复记录,但我必须执行几次,直到删除 0 行。

delete from results_table where rowid in
            (select min(rowID)  from results_table
            group by u_name||u_date
            having count(*) > 1 )

我的结论是只运行一次,直到删除 0 行。

非常感谢您的建议。 :)

【问题讨论】:

    标签: sql oracle duplicates sqlplus


    【解决方案1】:

    一次性全部删除怎么样?

    delete from results_table
    where rowid not in (select min(rowID)
                        from results_table
                        group by u_name, u_date
                       );
    

    或者,因为您似乎想要最大行ID:

    delete from results_table
    where rowid not in (select max(rowID)
                        from results_table
                        group by u_name, u_date
                       );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      相关资源
      最近更新 更多