大佬教程收集整理的这篇文章主要介绍了使用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,请注明来意。