全球主机交流论坛

标题: 如何在mysql删除相同文章 [打印本页]

作者: 11qq    时间: 2011-4-13 15:15
标题: 如何在mysql删除相同文章
大家在采集过程中都会遇到过带有重复文章,请问有什么sql语句可以批量删除相同文章呢?
作者: stick    时间: 2011-4-13 16:02
为神马不做入库前冗余检测
作者: 11qq    时间: 2011-4-13 16:05
原帖由 stick 于 2011-4-13 16:02 发表
为神马不做入库前冗余检测


不懂,我这个程序自动更新内容的,没有检测的
作者: 糕手    时间: 2011-4-13 16:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 11qq    时间: 2011-4-13 16:47
原帖由 糕手 于 2011-4-13 16:31 发表
查询相应表单,然后根据文章标题(这个重复文章看你定义是什么,一般定义是标题),查询,相同的 删除


我首先查询满足两个字段title和content,就被视为重复文章.

select * from piao_post a
where (a.title,a.content) in (select title,content from piao_post group by

title,content having count(*) > 1)


然后只保留pid最小值,但报错,语句我看了很多遍都没错啊.但就是报错.

delete from piao_post a
where (a.title,a.content) in (select title,content from piao_post group by

title,content having count(*) > 1)
and pid not in (select min(pid) from piao_post group by title,content having

count(*)>1)

[ 本帖最后由 11qq 于 2011-4-13 16:51 编辑 ]
作者: a219549    时间: 2011-4-13 22:11
为什么不在插入数据库之前做检测呢,如果重复就不插入数据库
作者: jacksoking    时间: 2011-4-14 00:47
如果采集的话,直接搞title就行了
你的表结构是如何?
作者: 美国主机商    时间: 2011-4-14 01:34
你的表是什么结构的




欢迎光临 全球主机交流论坛 (https://loc.1226.eu.org/) Powered by Discuz! X3.4