如何输入具有相同条目的条目? 我的桌面播放器有两个方面(名称,wowp_id)重复。如何合并它们?在sqlite中删除重复的行?
我一直在寻找相关的问题。下面的代码建立在我找到的答案上。流程运行良好,但重复仍然存在。我想没有重复名称。如果有不同的wowp_id多个名我宁愿删除wowp_id并保持名只有一个条目。
def sql_removeduplicates():
con = sqlite3.connect('WOWT.sql')
with con:
cur = con.cursor()
cur.execute("SELECT name, COUNT(*) FROM players GROUP BY name, team, wowp_id HAVING COUNT(*) > 1")
rows = cur.fetchall()
con.commit()
for row in rows:
print row
我的球员行:
(id, wowp_id, name, team)
(108, 501078041, u'prazluges', None)
(109, 507894244, u'Aidis', None)
(110, 500742127, u'Aidis', None)
(111, u'Aidis', u'Aidis', None)
(112, u'Aidis', u'Aidis', None)
(113, 500864543, u'prazluges', None)
(114, u'Aidis', u'Aidis', None)
(115, u'Aidis', u'Aidis', None)
(116, u'Aidis', u'Aidis', None)
(117, 501078041, u'satih', None)
(118, u'Aidis', u'Aidis', None)
还要注意,sqlite3的有一个可用于删除重复行的隐藏ROWID列,请参阅以下答案:https:// stackoverfl ow.com/questions/8190541/deleting-duplicate-rows-from-sqlite-database – Gnudiff