2

我正在使用 SQL Server 2005 尝试查找某个项目的所有重复项并更改数量,使其等于重复项的数量。然后我计划删除除一个之外的所有重复行。

这是我到目前为止所拥有的:

UPDATE Table
SET Quantity = COUNT(Item)
WHERE COUNT(Item) > 1

SELECT * FROM Item

有什么建议吗?

4

1 回答 1

1

这是做你想做的事的一种方法。

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 计算每个项目的价值。然后 update 子句进行更新。

于 2012-08-13T19:28:57.090 回答