帮助撰写查询
**ID DOB**
1 1/1/2000
2 1/1/2000
3 2/2/1999
4 2/2/1999
如果DOB与制造ID相同,则为最低值
所以结果的一个例子是
1 1/1/2000
1 1/1/2000
3 2/2/1999
3 2/2/1999
注意ID现在是相同的
如果我没有充分解释,请问我任何问题
答案 0 :(得分:0)
您可以使用ANSI SQL窗口函数min()
执行此操作:
select min(id) over (partition by dob) as id, dob
from t;
编辑:
我不太确定你为什么要将行设置为完全重复,但你可以用类似的方式做到这一点:
with toupdate as (
select t.*, min(id) over (partition by dob) as new_id
from t
)
update toupdate
set id = new_id
where id <> new_id;