创建一个去重的新表,再删掉原表,最后把新表改成原表名,速度很快 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;
你的数据太多了,可以使用临时表来处理这个问题。 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;你试一下,我等着接分。哈哈
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 列为基准。
创建一个去重的新表,再删掉原表,最后把新表改成原表名,速度很快
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;
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;你试一下,我等着接分。哈哈
如果用
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 列为基准。