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

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

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

復制代碼 代碼如下:

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


方法二

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

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

select distinct * from tableName

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

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

復制代碼 代碼如下:

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


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

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

  假設(shè)有重復的字段為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不重復的結(jié)果集(但多了一個autoID字段,實際寫時可以寫在select子句中省去此列)

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

    今天查看以前專案的數(shù)據(jù)庫自定義函數(shù),溫習溫習。發(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 表達式(expression)

    詳解SqlServer 表達式(expression)

    表達式可以是單個常量,變量,列或標量函數(shù)。運算符可用于將兩個或多個簡單表達式連接到一個復雜的表達式中。這篇文章主要介紹了SqlServer 表達式(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)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-09-09

最新評論

呼伦贝尔市| 论坛| 永城市| 克什克腾旗| 科技| 曲周县| 吉木萨尔县| 葫芦岛市| 南召县| 合肥市| 莆田市| 河曲县| 达州市| 右玉县| 江陵县| 永川市| 海城市| 福鼎市| 尖扎县| 广饶县| 许昌市| 如东县| 和田县| 平罗县| 江都市| 天门市| 宣化县| 稻城县| 祁东县| 西和县| 奇台县| 丰原市| 丹棱县| 双流县| 景洪市| 合肥市| 高淳县| 吴忠市| 米泉市| 东台市| 雷波县|