是否删除SQL中具有不同用户ID的重复行?
我最近问了一个问题,如果重复的行都在一个用户ID下,如何删除所有重复的行。现在我想知道如果具有重复值的行具有不同的用户ID,我应该如何删除一个重复的行 例如,如果我有:是否删除SQL中具有不同用户ID的重复行?,sql,database,sqlite,sql-delete,Sql,Database,Sqlite,Sql Delete,我最近问了一个问题,如果重复的行都在一个用户ID下,如何删除所有重复的行。现在我想知道如果具有重复值的行具有不同的用户ID,我应该如何删除一个重复的行 例如,如果我有: +--------+----+---------+ | UserID | ID | Version | +--------+----+---------+ | 1 | AB | 1 | | 2 | AB | 1 | | 1 | BA | 1 | | 2
+--------+----+---------+
| UserID | ID | Version |
+--------+----+---------+
| 1 | AB | 1 |
| 2 | AB | 1 |
| 1 | BA | 1 |
| 2 | BA | 1 |
+--------+----+---------+
ID和Version中的值对于AB和BA行分别是相同的,我只想删除UserID为1的行,删除第一行和第三行。我该怎么做呢?提前谢谢 当存在具有相同ID和相同版本但具有更高用户ID的行时,从表中删除该行
delete from tablename t1
where exists (select 1 from tablename t2
where t1.ID = t2.ID and t1.Version = t2.Version
and t1.UserID < t2.UserID)
当存在具有相同ID和相同版本但具有更高用户ID的行时,从表中删除该行
delete from tablename t1
where exists (select 1 from tablename t2
where t1.ID = t2.ID and t1.Version = t2.Version
and t1.UserID < t2.UserID)
如果存在一个ID更高的用户,是否可以使查询更具体,以ID为1的用户为目标?如果存在一个ID更高的用户,是否可以使查询更具体,以ID为1的用户为目标?