34,590
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE #(
ID INT IDENTITY(1,1),
F1 NVARCHAR(100),
F2 NVARCHAR(100)
)
INSERT INTO #(F1,F2)
SELECT 'A0','' UNION ALL
SELECT 'A0','' UNION ALL
SELECT 'A0','' UNION ALL
SELECT 'A1','' UNION ALL
SELECT 'A1','' UNION ALL
SELECT 'A2',''
UPDATE a
SET a.F2 = b.num
FROM # a ,
( SELECT * ,
ROW_NUMBER() OVER ( PARTITION BY F1 ORDER BY ID ) AS num
FROM #
) b
WHERE a.ID = b.Id
SELECT * FROM #
DROP TABLE #
UPDATE a SET a.F2=b.rn FROM # AS a
INNER JOIN(
SELECT ID,ROW_NUMBER()OVER(PARTITION BY F1 ORDER BY ID) AS rn FROM #
) b ON a.ID=b.ID