【发布时间】:2021-01-30 16:30:46
【问题描述】:
我在删除具有最高用户 ID 的重复行时遇到了一些问题,我想知道如何在 SQLite 中使用与版本 3.22.0 兼容的方法来实现这一点?
我可以通过运行以下语句来识别所有重复的行:
SELECT
code, issue, COUNT(*)
FROM
Data
GROUP BY
code, issue
HAVING
COUNT(*) > 1
我尝试过使用:
delete from Data t1
where exists (select 1 from Data t2
where t1.code = t2.code and t1.issue = t2.issue
and t1.id < t2.id);
这给了我t1 附近的语法错误。我做错了什么?
【问题讨论】:
-
在 t1 之前使用
AS:dbfiddle.uk/… -
@forpas 我实际上尝试使用
DELETE FROM Data AS t1. ...,这给我带来了一个新错误,上面写着near "AS": syntax error。 -
你可以在 fiddle 中看到它适用于 AS。
-
这很奇怪,因为当我尝试运行它时它给了我一个错误。也许这可能是由于版本?我看到小提琴在 3.27.0 上运行,而我在 3.22.0 上运行?
-
可以,但请考虑升级。 SQLite 的最新版本是 3.34.1。