首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从数据库中删除最新提交的重复数据?

如何从数据库中删除最新提交的重复数据?
EN

Stack Overflow用户
提问于 2013-11-13 20:52:03
回答 1查看 48关注 0票数 0

我正在使用以下查询从数据库中获取公司:

代码语言:javascript
复制
companies = Company.objects.order_by('submit_time').reverse()

我得到的输出是:

2013-11-13 12:25:30+00:00 <-删除

2013-11-13 12:25:30+00:00 <- keep

2013-11-13 12:25:14+00:00 <- keep

2013-11-13 12:25:13+00:00 <-删除

2013-11-13 12:25:13+00:00 <- keep

2013-11-13 05:11:55+00:00 <-删除

2013-11-13 05:11:55+00:00 <- keep

2013-11-13 05:11:29+00:00 <-删除

2013-11-13 05:11:29+00:00 <- keep

2013-11-13 05:11:28+00:00 <- keep

公司提交时间存在重复。我正在使用代码查找同时提交的公司:

代码语言:javascript
复制
seen = set()
result = []
for item in companies:
    if item not in seen:
        seen.add(item.submit_time)
        result.append(item.submit_time)

有什么方法可以调整下面的代码,以便我可以找到重复的公司时间提交,并删除最新时间的公司,并保留较早时间的公司?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-11-13 21:22:39

我不明白“删除最新时间的公司,保留最早的公司”的意思,因为复制是时间本身。既不早也不晚

你就不能:

代码语言:javascript
复制
seen = set()
result = []
for item in companies:
    if item.submit_time not in seen:
        seen.add(item.submit_time)
        result.append(item.submit_time)
    else:
        item.delete()

更新:

代码语言:javascript
复制
seen = {}
result = []
for item in companies:
    if item.submit_time not in seen:
        seen[item.submit_time] = item
        result.append(item.submit_time)
    else:
        seen[item.submit_time].delete()
        seen[item.submit_time] = item
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19954332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档