我在表中添加了新列。现在我想用函数row_number()的值更新此列。我也想这样做,因为我想删除重复的条目。下面提到的代码未提供所需的输出
UPDATE tab1
SET rownumber = (SELECT ROW_NUMBER() OVER(ORDER BY name ASC)
FROM tab1 AS a WHERE a.name = b.name)
FROM tab1 b
问题是,当在表中添加新列时,其值为空。插入到将在表中添加新行,但不替换空值。如何用函数ROW_NUMBER()生成的行号更新空值。
下面提到的表是我所拥有的
名字分数
美国银行10
商业银行20
富国银行135
中西部银行45
美国银行10
商业银行20
现在我想要删除重复项后的输出
名字分数
美国银行10
商业银行20
富国银行135
中西部银行45
我试图添加具有唯一值的新列以获得所需的结果。
试试这个:
UPDATE T
SET T.rownumber = TT.ROW_ID
FROM tab1 AS T
INNER JOIN (SELECT ROW_NUMBER() OVER (ORDER BY name) AS ROW_ID
,name
FROM Tab1) AS TT
ON T.name = TT.name
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句