Oracle SQL: 根据 unit 和 datetime 删除重复数据
可以使用以下 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' 不在子查询结果中的数据,也就是重复的数据。
原文地址: https://www.cveoy.top/t/topic/op6h 著作权归作者所有。请勿转载和采集!