我需要从有 2 列或更多列的表中删除行。例如。假设我需要删除最后两列相同的行。
1 1 2 3
2 2 2 2
3 2 3 3
4 7 3 3
5 4 2 2
第一列是索引。
我需要删除 4 7 3 3 和 5 4 2 2 (因为已经有 2 2 2 2 和 3 2 3 3 )
DELETE FROM tableName
WHERE col1 NOT IN
(
SELECT minID
FROM
(
SELECT MIN(ID) minID
FROM tableName
GROUP BY col2, col3
) a
)
经过一番研究,我发现了这个(我认为它也在堆栈的某个地方,但不记得那个帖子了)
SELECT * FROM tb AS t1
WHERE EXISTS (
SELECT 1 FROM tb AS t2
WHERE t2.c0= t1.c0
AND t2.c1= t1.c1
AND t2.c2= t1.c2
AND t2.id> t1.id )