最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法

 更新時間:2013年05月29日 19:05:34   作者:  
數(shù)據(jù)庫的使用過程中由于程序方面的問題有時候會碰到重復(fù)數(shù)據(jù),重復(fù)數(shù)據(jù)導(dǎo)致了數(shù)據(jù)庫部分設(shè)置不能正確設(shè)置
方法一

復(fù)制代碼 代碼如下:

declare @max integer,@id integer
declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
delete from 表名 where 主字段 = @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0


方法二

  有兩個意義上的重復(fù)記錄,一是完全重復(fù)的記錄,也即所有字段均重復(fù)的記錄,二是部分關(guān)鍵字段重復(fù)的記錄,比如Name字段重復(fù),而其他字段不一定重復(fù)或都重復(fù)可以忽略。

1、對于第一種重復(fù),比較容易解決,使用

select distinct * from tableName

就可以得到無重復(fù)記錄的結(jié)果集。

如果該表需要刪除重復(fù)的記錄(重復(fù)記錄保留1條),可以按以下方法刪除

復(fù)制代碼 代碼如下:

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp


  發(fā)生這種重復(fù)的原因是表設(shè)計不周產(chǎn)生的,增加唯一索引列即可解決。

2、這類重復(fù)問題通常要求保留重復(fù)記錄中的第一條記錄,操作方法如下

  假設(shè)有重復(fù)的字段為Name,Address,要求得到這兩個字段唯一的結(jié)果集

select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)

最后一個select即得到了Name,Address不重復(fù)的結(jié)果集(但多了一個autoID字段,實際寫時可以寫在select子句中省去此列)

相關(guān)文章

  • SQL SERVER中常用日期函數(shù)的具體使用

    SQL SERVER中常用日期函數(shù)的具體使用

    這篇文章主要介紹了SQL SERVER中常用日期函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • MSSQL分頁存儲過程完整示例(支持多表分頁存儲)

    MSSQL分頁存儲過程完整示例(支持多表分頁存儲)

    這篇文章主要介紹了MSSQL分頁存儲過程的實現(xiàn)與使用方法,并支持多表分頁存儲的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • sql?server設(shè)置數(shù)據(jù)庫某個字段值不能重復(fù)兩種方法

    sql?server設(shè)置數(shù)據(jù)庫某個字段值不能重復(fù)兩種方法

    sqlserver的表中有一個列不能有相同的值,如何保證每次插入該列的值都是不同的,這篇文章主要給大家介紹了關(guān)于sql?server設(shè)置數(shù)據(jù)庫某個字段值不能重復(fù)的兩種方法,需要的朋友可以參考下
    2023-11-11
  • SqlServer中根據(jù)某幾列獲取重復(fù)的數(shù)據(jù)將其刪除并保留最新一條

    SqlServer中根據(jù)某幾列獲取重復(fù)的數(shù)據(jù)將其刪除并保留最新一條

    有時候,我們某個數(shù)據(jù)表中,可能有幾列的數(shù)據(jù)都是一樣的,此時我們可能想查詢出這幾列數(shù)據(jù)相同的所有數(shù)據(jù)行,并保留最新一條,將其他重復(fù)的數(shù)據(jù)刪除,這篇文章主要介紹了SqlServer中根據(jù)某幾列獲取重復(fù)的數(shù)據(jù)將其刪除并保留最新一條,感興趣的朋友一起看看吧
    2024-04-04
  • SqlServer 表單查詢問題及解決方法

    SqlServer 表單查詢問題及解決方法

    這篇文章主要介紹了SqlServer 表單查詢問題及解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • sqlserver中獲取月份的天數(shù)的方法分享

    sqlserver中獲取月份的天數(shù)的方法分享

    今天查看以前專案的數(shù)據(jù)庫自定義函數(shù),溫習(xí)溫習(xí)。發(fā)現(xiàn)其中有一個函數(shù),是獲取月份的天數(shù)的自定義函數(shù)。
    2011-09-09
  • sqlserver 巧妙的自關(guān)聯(lián)運用

    sqlserver 巧妙的自關(guān)聯(lián)運用

    最近在改報表分頁,遇到一個很棘手的問題,需要將比較正常的數(shù)據(jù)記錄新增加兩列
    2012-07-07
  • sql2005 HashBytes 加密函數(shù)

    sql2005 HashBytes 加密函數(shù)

    在做項目的時候,在sql中使用了hashbytes函數(shù),運用md5算法去加密一密碼。
    2009-10-10
  • 詳解SqlServer 表達(dá)式(expression)

    詳解SqlServer 表達(dá)式(expression)

    表達(dá)式可以是單個常量,變量,列或標(biāo)量函數(shù)。運算符可用于將兩個或多個簡單表達(dá)式連接到一個復(fù)雜的表達(dá)式中。這篇文章主要介紹了SqlServer 表達(dá)式(expression)的語法代碼詳解,需要的朋友可以參考下
    2019-11-11
  • Sql server中內(nèi)部函數(shù)fn_PhysLocFormatter存在解析錯誤詳解

    Sql server中內(nèi)部函數(shù)fn_PhysLocFormatter存在解析錯誤詳解

    這篇文章主要給大家介紹了關(guān)于Sql server中內(nèi)部函數(shù)fn_PhysLocFormatter存在解析錯誤的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-09-09

最新評論

丰镇市| 榆林市| 龙井市| 定州市| 上饶县| 西平县| 荥经县| 石河子市| 清徐县| 闸北区| 青川县| 嘉黎县| 德化县| 金坛市| 都安| 高唐县| 鄂托克前旗| 肃南| 额敏县| 镇雄县| 莎车县| 临夏县| 水富县| 茶陵县| 河北区| 兴安县| 东台市| 开封市| 宝鸡市| 赞皇县| 东安县| 大洼县| 乌鲁木齐市| 勐海县| 铜陵市| 肥乡县| 龙游县| 罗甸县| 吴桥县| 庆元县| 武鸣县|