可以使用以下 SQL 语句删除 b_tyd 表中重复的数据:

DELETE FROM b_tyd 
WHERE ROWID NOT IN 
    (SELECT MIN(ROWID) 
     FROM b_tyd 
     GROUP BY unit, datetime);

解释:

  • 'ROWID' 是 Oracle 数据库中自动生成的一列,它唯一标识一行数据。
  • 子查询 'SELECT MIN(ROWID) FROM b_tyd GROUP BY unit, datetime' 会找到每个不同的 'unit' 和 'datetime' 组合中的最小 'ROWID' 值,也就是每组中的第一条数据。
  • 外层的 'DELETE' 语句会删除那些 'ROWID' 不在子查询结果中的数据,也就是重复的数据。
Oracle SQL: 根据 unit 和 datetime 删除重复数据

原文地址: https://www.cveoy.top/t/topic/op6h 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录