例如,如果选择ProductInventory中的所有产品ID时没有使用DISTINCT,将返回1069行。
如果使用了DISTINCT,就可以消除重复的行,只查看唯一的产品ID:USEAdventureWorksGOSELECTDISTINCTProductIDFROMProduction.ProductInventory此查询将返回432行。
DISTINCT关键字可从SELECT语句的结果中除去重复的行。如果没有指定DISTINCT,那么将返回所有行,包括重复的行。
sybase数据库中去除重复数据的方法有很多中,比如:identity+max(),set rowcount N 或 top N,distinct,ignore_dup_key等等。在select命令中union all不删除重复行,而union会删除重复行。
这样的话,将包含重复行的记录通过union *** 作符插入到一张临时表中,然后再倒回来就行了。
删除sybase表中的重复行方法如下:1)select distinct a ,b,c,d … into tempdb..tmp_tablename from tablename
然后清空原表,把临时表中的数据插入正式表中!
2)创建相同的表并建一个唯一性索引:create unique index(列名1,列名2…) on tmp_tab with ignore_dup_key
insert into new_tab select * from your_dup_tab
新表中将自动删出重复记录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)