刪除重復記錄,并且剩下一條
更新時間:2009年04月15日 21:28:00 作者:
所謂的重復記錄就是某列數(shù)據(jù)有重復的,但是在實際的過程中,有可能您的需求是一列有重復,也可能兩列有重復..根據(jù)實際情況,所得到的重復記錄是有所不同的
我們可以通過下述方法刪除重復記錄:
例:表名:dbo.品種描述$,字段包括:ID_PK,品種名稱,性狀標準編號,代碼,首先創(chuàng)建一個和原表結構一樣的表:
select * into tmpA from dbo.品種描述$ where 1=2--創(chuàng)建完畢
在數(shù)據(jù)表中,品種名稱,性狀標準編號這兩個字段不能有重復值,執(zhí)行下述腳本:
declare @VarietyName nvarchar(255),
@StdCharCode nvarchar(255),
@iCount int
set @iCount=0;
declare insert_distinct_cursor cursor for
select 品種名稱,性狀標準編號 from dbo.品種描述$ group by 品種名稱,性狀標準編號
open insert_distinct_cursor
FETCH NEXT FROM insert_distinct_cursor INTO @VarietyName,@StdCharCode
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
insert into dbo.tmpA (品種名稱,性狀標準編號,代碼) select top 1 品種名稱,性狀標準編號,代碼 from dbo.品種描述$ where 品種名稱=@VarietyName and 性狀標準編號=@StdCharCode;
set @iCount=@iCount+1;
END
FETCH NEXT FROM insert_distinct_cursor INTO @VarietyName,@StdCharCode
END
CLOSE insert_distinct_cursor
DEALLOCATE insert_distinct_cursor
print @iCount
例:表名:dbo.品種描述$,字段包括:ID_PK,品種名稱,性狀標準編號,代碼,首先創(chuàng)建一個和原表結構一樣的表:
復制代碼 代碼如下:
select * into tmpA from dbo.品種描述$ where 1=2--創(chuàng)建完畢
在數(shù)據(jù)表中,品種名稱,性狀標準編號這兩個字段不能有重復值,執(zhí)行下述腳本:
declare @VarietyName nvarchar(255),
@StdCharCode nvarchar(255),
@iCount int
set @iCount=0;
declare insert_distinct_cursor cursor for
select 品種名稱,性狀標準編號 from dbo.品種描述$ group by 品種名稱,性狀標準編號
open insert_distinct_cursor
FETCH NEXT FROM insert_distinct_cursor INTO @VarietyName,@StdCharCode
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
insert into dbo.tmpA (品種名稱,性狀標準編號,代碼) select top 1 品種名稱,性狀標準編號,代碼 from dbo.品種描述$ where 品種名稱=@VarietyName and 性狀標準編號=@StdCharCode;
set @iCount=@iCount+1;
END
FETCH NEXT FROM insert_distinct_cursor INTO @VarietyName,@StdCharCode
END
CLOSE insert_distinct_cursor
DEALLOCATE insert_distinct_cursor
print @iCount
相關文章
SQL Server實現(xiàn)將特定字符串拆分并進行插入操作的方法
這篇文章主要介紹了SQL Server實現(xiàn)將特定字符串拆分并進行插入操作的方法,涉及SQL Server的循環(huán)、遍歷、判定及插入等相關操作技巧,需要的朋友可以參考下2016-08-08SQL Server 索引結構及其使用(二) 改善SQL語句
很多人不知道SQL語句在SQL SERVER中是如何執(zhí)行的,他們擔心自己所寫的SQL語句會被SQL SERVER誤解。2009-04-04在sqlserver數(shù)據(jù)庫中導入Excel數(shù)據(jù)的全過程
在SQL Server中導入Excel數(shù)據(jù)可以通過使用導入/導出向導來完成,下面這篇文章主要給大家介紹了關于在sqlserver數(shù)據(jù)庫中導入Excel數(shù)據(jù)的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2024-01-01SQL?server數(shù)據(jù)庫declare和set用法技巧小結
這篇文章主要給大家介紹了關于SQL?server數(shù)據(jù)庫declare和set用法技巧的相關資料,在SQL Server中,DECLARE用于聲明變量和存儲過程中的參數(shù),文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-08-08