日期:2013-05-14 浏览次数:20637 次
select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1 
delete from 表名 a where 字段1,字段2 in(select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1) 
CREATE TABLE 临时表 AS(select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1) 
delete from 表名 a where 字段1,字段2 in (select 字段1,字段2 from 临时表); 
select a.rowid,a.* from 表名 a where a.rowid != ( select max(b.rowid) from 表名 b where a.字段1 = b.字段1 and a.字段2 = b.字段2 ) 
delete from 表名 a where a.rowid != ( select max(b.rowid) from 表名 b where a.字段1 = b.字段1 and a.字段2 = b.字段2 ) 
create table 临时表 as select a.字段1,a.字段2,MAX(a.ROWID) dataid from 正式表 a GROUP BY a.字段1,a.字段2; delete from 表名 a where a.rowid != ( select b.dataid from 临时表 b where a.字段1 = b.字段1 and a.字段2 = b.字段2 ); commit; 
select distinct * from 表名 
CREATE TABLE 临时表 AS (select distinct * from 表名); drop table 正式表; insert into 正式表 (select * from 临时表); drop table 临时表; 
INSERT INTO t_table_bakselect distinct * from t_table;