存档

文章标签 ‘重复值’,文章数:2

之前博文中介绍了ASE中使用union来删除重复数据的方法:Sybase去除重复数据的一种方法!用union的方法要求先把不重复的数据行插入到临时表中,然后清空源表后再把数据倒回到源表中。

本文介绍使用索引的with ignore_dup_row选项来在线删除表的重复数据行。

创建非唯一、聚簇索引,带选项 : with ignore_dup_row
在索引的创建语法中,unique 和  with ignore_dup_row 是互斥的,nonclustered 和  with ignore_dup_row 是互斥的;也就是说,使用with ignore_dup_row选项时索引必须是非唯一、聚簇的。
通过索引删除重复数据后,再把新建的非唯一、聚簇索引删除。

sybase数据库中去除重复数据的方法有很多中,比如:identity+max(),set rowcount N 或 top N,distinct,ignore_dup_key等等。

以后花时间整理一下去除重复数据的不同方法。

今天,仅仅介绍如何使用union操作符来去除重复值。

在select命令中union all不删除重复行,而union会删除重复行。

这样的话,将包含重复行的记录通过union操作符插入到一张临时表中,然后再倒回来就行了。