gpt4 book ai didi

postgresql - 如何删除 Postgres 中的两行重复数据之一?

转载 作者:行者123 更新时间:2023-11-29 13:51:28 25 4
gpt4 key购买 nike

我正在使用 Postgres 9.5。我有以下查询,旨在在我的表中查找相同的数据行(但 ID 唯一)。

select e.name, 
e.day,
e.distance,
e.created_at,
e2.created_at
from events e,
events e2
where e.name = e2.name
and e.distance = e2.distance
and e.day = e2.day
and e.web_crawler_id = e2.web_crawler_id
and e.id <> e2.id
and e.web_crawler_id = 1
order by e.day desc;

我最终想删除其中一个重复的行——所以可能会删除具有最大“created_at”日期的行。但我不确定如何编写查询以仅返回两个相同行之一。我该怎么做?

最佳答案

有很多方法,但无需过多更改您的 sql,您可以做更多而不是 <> for id:

select e.name, e.day, e.distance, e.created_at, e2.created_at 
from events e, events e2
where e.name = e2.name
and e.distance = e2.distance
and e.day = e2.day
and e.web_crawler_id = e2.web_crawler_id
and e.id > e2.id
and e.web_crawler_id = 1

关于postgresql - 如何删除 Postgres 中的两行重复数据之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40431252/

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