最近在專案裡碰到很多重覆記錄的事情,因為是設計業務裡的具體數值,所以不敢輕易全部刪除,資料量也很大,所以就倒騰了點**在sql裡進行刪除
純屬菜鳥,還望高手指教啊
1--建立臨時表23
ifexists
(select
*from
tempdb.dbo.sysobjects
whereid=
object_id( '
tempdb.dbo.##temp
'))
4drop
table
##temp56
--將有重覆記錄的資料匯入到臨時表裡,並增添乙個字增列
7select
identity
(int,1
,1) as
ppkey,parameterrelatedid,businessparameterid
into
##temp
from
parameterrelated
whereregionid='
7e01d028-f84a-4d9a-9428-f68989215c0b
'and
yeartime
=2011
andbusinessparameterid in(
select
businessparameterid
from
businessparameters)89
--分組後根據自增列的大小取出重覆記錄的第乙個記錄id
10select
*from
##temp
where
ppkey in(
select
min(ppkey)
from
##temp
group
bybusinessparameterid)
1112
--根據取出來的記錄id過濾,刪除掉那些重覆記錄自增列不是最小的記錄
13delete
from
parameterrelated
where
parameterrelatedid
notin(select
parameterrelatedid
from
##temp
where
ppkey
in
(select
min(ppkey)
from
##temp
group
bybusinessparameterid))
andregionid='
7e01d028-f84a-4d9a-9428-f68989215c0b
'and
yeartime
=2011
SQL 語句刪除access重覆記錄語句
有兩個意義上的重覆記錄,一是完全重複的記錄,也即所有欄位均重複的記錄,二是部分關鍵字段重複的記錄,比如name欄位重複,而其他欄位不一定重複或都重複可以忽略。1 對於第一種重複,比較容易解決,使用 select distinct from tablename 就可以得到無重覆記錄的結果集。如果該錶需...
SQL查詢重覆記錄,刪除重覆記錄
1 查詢表中多餘的重覆記錄,重覆記錄是根據單個字段 docid 來判斷 select from tablename where docid in select docid from tablename group by docid h ing count docid 1 例二 select from...
SQL 刪除重覆記錄
例如 id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主鍵 要求得到這樣的結果 id name value 1 a pp 3 b iii 4 b pp 6 c pp 8 c iii 方法1delet...