2

SQL Server 2005 を使用して、特定のアイテムのすべての重複を見つけ、重複アイテムの数と同じになるように数量を変更しようとしています。次に、1 つを除いてすべての重複行を削除する予定です。

これが私がこれまでに持っているものです:

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

SELECT * FROM Item

何かアドバイス?

4

1 に答える 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 に答える