采集数据的时候,由于先期对页面结构的分析不完善,导致采漏了一部分数据。完善代码之后重新运行 Scrapy,又采集了一些重复的数据,搜了下删除重复数据的方法。

N.B. 删除数据表的重复数据时,请先备份数据表。

方法一

# 保留主键 ID 较小的那条记录
DELETE n1 FROM names n1, names n2 WHERE n1.id > n2.id AND n1.name = n2.name # 保留主键 ID 较大的那条记录
DELETE n1 FROM names n1, names n2 WHERE n1.id < n2.id AND n1.name = n2.name

方法二

# 保留主键 ID 较大的那条记录
DELETE FROM NAMES
WHERE id NOT IN (SELECT *
FROM (SELECT MIN(n.id)
FROM NAMES n
GROUP BY n.name) x) # 保留主键 ID 较小的那条记录
DELETE FROM NAMES
WHERE id NOT IN (SELECT *
FROM (SELECT MAX(n.id)
FROM NAMES n
GROUP BY n.name) x)

P.S. 当数据表的数据量较多时,建议使用方法二,大大节省时间。

参考链接:

  1. Delete all Duplicate Rows except for One in MySQL? [duplicate]
  2. sql - Remove duplicate rows in MySQL - Stack Overflow

最新文章

  1. salesforce 零基础学习(六十)Wizard样式创建数据
  2. python中引用
  3. YII2 缩略图生成 第三方包修改
  4. 服务器RAS性能
  5. Gson简要使用笔记
  6. Siege——多线程编程最佳实例
  7. [转]怎么查看和修改 MySQL 的最大连接数?
  8. Javascript DOM(2)
  9. [ 10.4 ]CF每日一题系列—— 486C
  10. ODOO(ERP源码安装)
  11. Linux基本命令总结(三)
  12. week_one-python基础 基本语法、流程控制
  13. ViewPager制作APP引导页+若干动画效果
  14. Permission denied: user=root, access=WRITE, inode=&quot;/&quot;:hadoopuser:supergroup:drwxr-xr-x
  15. 获取txt里面的内容
  16. css 多行文字,超出部分隐藏,...代替
  17. python 集合的比较
  18. 锁与theadLocal的合并使用
  19. Redis数据库 : 基础
  20. 简单的Java网络爬虫(获取一个网页中的邮箱)

热门文章

  1. [NOI2009]诗人小G 四边形优化DP
  2. happen before 原则
  3. 让docker中的mysql启动时自动执行sql
  4. pandas数据分析输出excel产生文本形式存储的百分比数据,如何处理?
  5. java生成二维码/java解析二维码
  6. Winform中使用代码编写Button按钮的点击事件
  7. out.print()与response.sendRedirect()
  8. IO流——File类(文件流类)
  9. ORA-08102异常重现及恢复
  10. Hadoop入门 之 Hadoop常识