如果確定唯一性的唯一的事情是列電子郵件(這是由你的榜樣建議),那麼試試這個:
Update t set active= 0
From Table t
Where id !=
(Select Min(id) From table
Where email = t.email)
如果其他列也應被用來確定唯一性,然後inmclude那些在子查詢的WHERE子句:
Update t set active= 0
From Table t
Where id !=
(Select Min(id) From table
Where email = t.email
And addr = t.addr
And [Other columns])
要在您的評論處理的問題,如果有空白的領域,要收集多行數據,你有一個更復雜的問題。首先,可能有不止一行的值,而對於某些行可能不同於其他行。第二,如果你想將它們包括在測試的唯一性(有重複)的人口只有當它們,那麼什麼DIO做什麼時,某些行有三列相同和不同的行集有一組不同的同列相同的值?
id addr city state zip phone
1 X Denver CO 71113 Blank
2 Y Blank CO Blank 212.901-3456
3 X Denver TX Blank Blank
4 Y ElPaso TX Blank 212.901-3456
5 X ElPaso Blank 71113 Blank
6 Y ElPaso Blank Blank 212.901-3456
那麼您如何確定哪些行重複?這太複雜了,無法處理。如果你能在一組固定的列的解決被用來確定uniquenses/dupllicates,那麼還有一個辦法從其他多個行的一個聚集了其他列的數據值,你是在一個你離開停用active有一個空白值,但是如果用於確定唯一性/重複項的列可能不同(取決於實際的數據值),那麼這些技術將不起作用。
[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)請參閱[關於堆棧溢出](http://stackoverflow.com/about )。 – 2013-04-25 19:56:47
我有重複的名單,但我不能找到的東西,可以比較兩行,要麼選擇一個正確的停用,或複製過來的數據。 – rncrtr 2013-04-25 19:58:21