最近想搞一个网课的题库,用Py抓取了100000+条数据
前期的规则把我写到吐,后边竟然还有重复题目
我丢、、、、放过我好不好。。。。。
这个对于天真的我来说真的是太痛苦了。
于是,找到了下面的语句,可以清理重复行
先查询一下是否有重复记录,然后在进行删除操作吧,语句查询和删除操作都很慢
非常消耗资源,建议在网站没什么访客的时候进行操作,不然数据库可能扛不住,服务器崩了就不大好了。
上语句
#查询重复记录 SELECT * FROM (SELECT COUNT(*) as num,q_title,min(q_id) as id FROM QuestionBank GROUP BY q_title)e WHERE e.num>1;
#删除一个重复记录 DELETE FROM QuestionBank WHERE q_id IN (SELECT q_id FROM (SELECT q_id FROM QuestionBank GROUP BY q_title HAVING count(*) > 1)e);
以上语句可能要多次执行,因为执行一次只删除一条重复的。。。
发表评论