SQL Server中删除重复数据的几个方法
数据库的使用【de shǐ yòng】🐎过程中👶由于程【yóu yú chéng】🆚序方面🍮的问题【de wèn tí】有时候【yǒu shí hòu】🥥会碰到【huì pèng dào】重复数😵据,重复数😵据导致了数据库部分【kù bù fèn】设置不能正确设置……
方法一
以下为引用的👇内容【nèi róng】: declare @max integer,@id integer |
方法二
有两个🔰意义上的重复🙌记录【jì lù】,一是完【yī shì wán】全重复🌮的记录【de jì lù】,也即所有字段【yǒu zì duàn】🦑均重复的记【fù de jì】录【lù】,二是部🎭分关键字段重复的记【fù de jì】录【lù】,比如🎵Name字段重复,而其他🤩字段不【zì duàn bú】一定重【yī dìng chóng】🍛复或都重复可以忽略。
1、对于第一种重复,比较容易解决,使用
以下为引用的🌯内容【nèi róng】: select distinct * from tableName |
就可以得到无重复记录的结果集。
如果该表需要删除重【shān chú chóng】复的记【fù de jì】🙊录🚡(重复记【chóng fù jì】录保留😵1条),可以按以下方🦎法删除【fǎ shān chú】
以下为【yǐ xià wéi】引用的📯内容: select distinct * into #Tmp from tableName |
发生这种重复的原因☝是表设【shì biǎo shè】计不周【jì bú zhōu】🧜产生的【chǎn shēng de】,增加唯一索引💺列即可解决。
2、这类重复问题通常要求保留【qiú bǎo liú】重复记【chóng fù jì】录【lù】😧中的第一条🥒记录【lù】😧,操作方法如下【fǎ rú xià】
假设有🐝重复的【chóng fù de】🏁字段为【zì duàn wéi】Name,Address,要求得【yào qiú dé】到这两个字段唯一的结果集📝
以下为引用的【yǐn yòng de】🔶内容: select identity(int,1,1) as autoID, * into #Tmp from tableName |
最后一个【gè】💰select即得到了【le】Name,Address不重复的结果【de jié guǒ】集【jí】😐(但多了【le】一个【gè】💰autoID字段⏸,实际写【shí jì xiě】时可以写在select子句中🛶省去此列🎫)
关键词:SQL,Server
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 0
- 0
- 0
- 0
- 0