gpt4 book ai didi

sql - 如何在 SQL 中找到重复的条目并删除最旧的条目?

转载 作者:行者123 更新时间:2023-12-02 22:32:31 26 4
gpt4 key购买 nike

我有一个表,其中的行除了一列中的一个值(我们称之为“名称”)之外都是唯一的。另一列是“日期”,这是添加到数据库的日期。

我想要做的是找到“名称”中的重复值,然后删除“日期”中日期最早的值,保留最新的值。

看起来是一个相对简单的查询,但除了简单的查询之外,我对 SQL 知之甚少。

有什么想法吗?

最佳答案

查找重复项并删除最早的

alt text

这是代码

create table #Product (
ID int identity(1, 1) primary key,
Name varchar(800),
DateAdded datetime default getdate()
)

insert #Product(Name) select 'Chocolate'
insert #Product(Name,DateAdded) select 'Candy', GETDATE() + 1
insert #Product(Name,DateAdded) select 'Chocolate', GETDATE() + 5
select * from #Product

;with Ranked as (
select ID,
dense_rank()
over (partition by Name order by DateAdded desc) as DupeCount
from #Product P
)
delete R
from Ranked R
where R.DupeCount > 1

select * from #Product

关于sql - 如何在 SQL 中找到重复的条目并删除最旧的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/679855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com