我有一个从网络服务同步数据的 iOS 应用程序。每隔一段时间,一条记录就会被重复,我需要能够清除重复。
我可以使用以下 SQL 轻松检查重复项:
SELECT ZOrderGUID, COUNT(*) AS Cnt
FROM ZPurchaseOrder
WHERE ZManufacturerID=18
GROUP BY ZOrderGUID
HAVING Count(*) > 1
我需要能够使用这些结果来删除其中的一个 - 它通常只是 2 条记录。
我试图运行这个 SQL:
SELECT LIMIT 1 * FROM ZPurchaseorder WHERE ZManufacturerID=18 AND ZOrderGUID=
(SELECT ZOrderGUID
FROM ZPurchaseOrder
WHERE ZManufacturerID=18
GROUP BY ZOrderGUID
HAVING Count(*) > 1)
为了隔离我发现的第一个骗子,但在测试中它锁定了我用来测试我的 SQL 脚本的 SQLite 数据库浏览器应用程序。