程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用python删除SQLite数据库中的行,其中有两个条件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用python删除sqlite数据库中的行,其中有两个条件?

开发过程中遇到使用python删除sqlite数据库中的行,其中有两个条件的问题如何解决?下面主要结合日常开发的经验,给出你关于使用python删除sqlite数据库中的行,其中有两个条件的解决方法建议,希望对你解决使用python删除sqlite数据库中的行,其中有两个条件有所启发或帮助;

我是 Python 和 sqlite 的新手,希望您能帮助我。我想弄清楚如何删除 SQLite 数据库中的一行,因为我有两个条件。

这大概是我的代码的样子:

a.execute("""create table xxx (
Data,ID,DatE)""")

a.execute("Insert into xxx values (?,?,?)",(data,datE)""")

我的问题是有大量数据进入数据库并且 ID 不明确。如果有两个或更多数据集具有相同的ID,我只想保留最新日期的数据集)

用这个代码试过了:

a.execute ("""delete from xxx
where date not in(
SELEct max(datE) from xxx
group by ID

但问题是,它不会删除任何内容,可能是因为每个日期都在里面。

你能帮我吗?

解决方法

您可以更新查询以检查行的日期是否不等于最大结果。此外,您应该更新您的子查询以仅包含 id 与主删除查询中的 id 相同的行:

delete from xxx t1 
where t1.date != (SELEct max(t2.datE) from xxx t2 where t2.id = t1.id)
,

您可以使用 EXISTS

deletE FROM xxx AS x1
WHERE EXISTS (SELECT 1 FROM xxx AS x2 WHERE x2.ID = x1.ID AND x2.Date > x1.DatE)

查看简化的 demo。

大佬总结

以上是大佬教程为你收集整理的使用python删除SQLite数据库中的行,其中有两个条件全部内容,希望文章能够帮你解决使用python删除SQLite数据库中的行,其中有两个条件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: