CODE:
delete from sometable as a
where rowid <> (select min(rowid) from sometable where keycol = a.keycol) 如果这个表使用表分片,rowid不存在,你还可以用如下的方法:CODE:
BEGIN WORK;
SELECT DISTINCT * FROM Table INTO TEMP Temp1;
DELETE FROM Table WHERE 1 = 1;
INSERT INTO Table SELECT * FROM Temp1;
COMMIT WORK; 对于规模较小或中等的表,并且你有足够的存储空间来存储整个的临时表的时候,这种方法通常十分有效。