请问在mysql中如何删除 两个字段相同的数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问在mysql中如何删除 两个字段相同的数据?相关的知识,希望对你有一定的参考价值。

mysql中如何删除 两个字段相同的数据。
比如在一篇文章中。标题相同。作者相同。 想把这些数据删除,然后保留一条。大家帮助一下啊。感激不尽。
我的意思是。删除mysql数据库表中,有两个字段相同的数据,比如这个表的字段有, 标题 作者 来源 时间 四个字段,但是
有很多数据标题和作者都是相同的。所以我就想把这些数据删除掉,然后只保留一条。

delete
from
dede_archives
where
[标题]=[标题]
and
[作者]=[作者]这个应该是不行的。我是要把重复的删除。但是要保留一条。比如有两篇文章。他们的作者
和标题相同的。那么这一般是重复的文章。所以我想把一篇删除。保留一篇。因为数据比较多。所以要用sql语句执行。大家帮忙想想怎么弄。是dedecms
里面主键盘应该只是id号码。大家帮忙一下啊。
参考技术A

也遇到同样问题, 后来自己写出来了.

根据主键id删除, 每次删除一条重复 , 需要多执行几次

 DELETE from tabName where id in (

SELECT tab.* from (

 SELECT id from tabName GROUP BY CONCAT(col1,col2) having COUNT(   CONCAT(col1,col2) ) > 1

) tab

 )

参考技术B "在一篇文章中。标题相同。作者相同"
是两篇文章吧 会让人误解的

另外你说的那种方法不可能实现 那违背了数据库原理 不能有相同的两行
除非这两行还有其他不同的字段 要用其他字段才能判断 比如文章编号等
参考技术C 用表的别名,sql语句这样:
delete from tablename as t1,tablename as t2 where t1.title=t2.title本回答被提问者采纳

sql如何自动在数据上加上一个字段

比如数据库中有几万条数据,现在想在content字段的所有数据前面加上“百度”两个字,请问要如何实现。
2楼,照你的方法,不行的。。。

content是varchar(200),但是加不上了

update tableName set content= '百度'+content
适合sqlserver 且content字段为字符类型
参考技术A update table set content=CONCAT("百度",content )

mysql 语法

加不上了?空间满了?那先修改字段类型咯 varchar(255)
参考技术B 查询吗?加列?
如果是的话只要

select '百度' as title,content from table

这样就行了吧

以上是关于请问在mysql中如何删除 两个字段相同的数据?的主要内容,如果未能解决你的问题,请参考以下文章

在MYSQL中如何用一个字段的值替换另一个字段的值

excel 两个表关联,相同数据删除

mysql如何去除两个字段数据相同的记录

mysql如何把一个表的字段赋值到另一张表?

出现:“数据库中已存在名为 'Assembles' 的对象。”问题,无法更新数据库,请问知道如何处理吗??

mysql批量删除,已经获得id,条件是另一个表,不存在的就删除,请问sql语句怎么写?