【问题标题】:Save duplicates with most recent date and remove others from oracle保存具有最近日期的重复项并从 oracle 中删除其他项
【发布时间】:2014-10-07 18:31:49
【问题描述】:

目前我有一种情况,我想从 oracle 中的表中删除重复项。问题是我想保存最新的行(根据日期字段)并删除其他重复项。例如,这是我的表格的一个小快照:

TASK:(num, code, downtime)
--------------------------
   123  2432  7/13/2014 10:27
   123  2784  7/13/2014 11:57
   154  2232  8/9/2014  12:11
   154  2523  8/12/2014 01:27

我希望剩下的桌子是:

   123  2784  7/13/2014  11:57
   154  2523  8/12/2014  01:27

您能告诉我哪个 oracle 查询符合我的要求吗?

【问题讨论】:

标签: sql oracle


【解决方案1】:

试试这个:

delete task 
 where (num, downtime) not in (
  select num, max(downtime) 
    from task
   group by num
)

【讨论】:

  • 真正简单又神奇的查询
  • 你必须记住它,删除重复的任务经常发生
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 2022-12-06
  • 1970-01-01
  • 2021-12-16
相关资源
最近更新 更多