2
我正在使用SQL Server 2005來嘗試查找某個項目的所有重複項並更改數量,以便它將等於重複項的數量。然後我打算刪除除一個之外的所有重複行。更新重複行然後刪除除了一個之外的所有
這裏是我到目前爲止有:
UPDATE Table
SET Quantity = COUNT(Item)
WHERE COUNT(Item) > 1
SELECT * FROM Item
有什麼建議?
我正在使用SQL Server 2005來嘗試查找某個項目的所有重複項並更改數量,以便它將等於重複項的數量。然後我打算刪除除一個之外的所有重複行。更新重複行然後刪除除了一個之外的所有
這裏是我到目前爲止有:
UPDATE Table
SET Quantity = COUNT(Item)
WHERE COUNT(Item) > 1
SELECT * FROM Item
有什麼建議?
這裏有一種方法可以做你想做的事。
with toupdate as (
select item, count(*) as cnt
from t
group by item
)
update t
set quantity = cnt
from toupdate
where t.item = toupdate.item
CTE計算每個項目的值。更新子句然後執行更新。
什麼是你的表格結構?你的桌子有主鍵嗎? – 2012-08-13 19:15:06
不,它不。 – Samter 2012-08-13 19:15:53