我有 9000k 行和 > 10 列的 SQL 结果。我需要删除重复行,这些行有另一行与 4 列匹配(不是完全重复的行)。我研究并尝试了各种方法,但都无法让我成功。这是一次性数据转换和转换测试。
因此,如果第 1 行和第 22 行在 A1 - A22、D1 - D22、H1 - H22 和 K1-K22 列中具有相同的值,那么它就是重复的,我需要删除其中一个(另一列中的日期较晚)
如果我可以在 SQL 中做到这一点,那就太好了,但是我的权限和表访问权限有限(理所当然!)并且无法执行所有 SQL 功能。(例如创建表)。
答案1
你可以做类似这样的事:
DELETE FROM table
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM table
GROUP BY col1, col2
)
将 table 替换为您要搜索的表,将 col1 和任何其他列替换为您需要将某些内容归类为重复项的列,并将 rowid 替换为您的索引列。