解决方案 »

  1.   


    创建一个去重的新表,再删掉原表,最后把新表改成原表名,速度很快
    CREATE TABLE TB AS
    SELECT DISTINCT 
           A.ID_TSKPREFIX,
           A.ID_UNITCODE,
           A.ID_PERIODTYPE,
           A.ID_YEAR,
           A.ID_PERIOD,
           A.ID_ZBCODE
      FROM INTF_DATA A;DROP TABLE INTF_DATA; 
     ALTER TABLE TB RENAME TO INTF_DATA;
      

  2.   

    你的数据太多了,可以使用临时表来处理这个问题。
    1、你可以先把不重复的数据查询出来放到一个临时表B里边。
    2、删除你原来表A(drop table)
    3、把临时表B里的数据插入到原来的表A
    4、删除临时表B
    具体操作:
    CREATE TABLE B AS (select distinct * from A); 
    drop table A; 
    insert into A (select * from B); 
    drop table B;你试一下,我等着接分。哈哈
      

  3.   

    CREATE TABLE B AS (select distinct * from A);  默认是以这个表的第一列作为基准,抽取不重复记录。
    如果用
    SELECT DISTINCT 
           A.ID_TSKPREFIX,
           A.ID_UNITCODE,
           A.ID_PERIODTYPE,
           A.ID_YEAR,
           A.ID_PERIOD,
           A.ID_ZBCODE
      FROM INTF_DATA A;
    就是以ID_TSKPREFIX 列为基准。