Oracle中的UPDATE语句使用SQL或PL/SQL来更新第一个重复行

我正在寻找一个UPDATE语句,它将更新一个单独的重复行,并保持其余(重复的行)完整
就是在Oracle SQL或PL / SQL中使用ROWID或其他元素或其他元素来使用?

下面是一个使用duptest表的例子:

CREATE TABLE duptest (ID VARCHAR2(5), NONID VARCHAR2(5));

运行一个INSERT INTO duptest VALUES(‘1′,’a’);
>运行四(4)次INSERT INTO duptest VALUES(‘2′,’b’);

此外,第一个重复行必须更新(不删除),总是,而其他三(3)必须保持原样!

非常感谢,
瓦尔.

最佳答案
这将为您工作吗?

update duptest 
set nonid = 'c'
WHERE ROWID IN (SELECT   MIN (ROWID)
                              FROM duptest 
                          GROUP BY id, nonid)

转载注明原文:Oracle中的UPDATE语句使用SQL或PL/SQL来更新第一个重复行 - 代码日志