mysql数据库删除某字段重复的数据保留ID小的命令是什么啊

mysql数据库删除某字段重复的数据保留ID小的命令是什么啊,第1张

楼上的语句~是很好的。

不过~mysql不允许在select的同时~又update表~

所以呢~

我建议你建一个临时表~

分2条sql语句来完成~

第一步:把要保留的ID存入临时表

create table temp select Min(iD) ID from A group by Data

第二部:执行删除语句~

delete from A where ID not in (select ID from temp)

希望对你有用。

-------------------------------------------

PS:mysql不支持select into 。

select top 1 id,name,age from 表 order by age desc按照年龄倒序排序,然后取第一条。考虑可能有多人年龄相同,如果都需取出,可以这样写:select id,name,age from 表 where age=(select max(age) from 表)

select

from table  ###

where not exists (

select from table  ###

where # = #

and ## < ##

)

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,只有用二重循环查询来解决。

给个例子把,比如:表table_a 4条数据

id A B C D

01 ab 1a2 1b2 121

02 ab 2a3 3b3 4a1

03 ac 1a2 1b2 121

04 ac 2a4 3b2 52g

何让A字段重复取条 比

01 ab 1a2 1b2 121

03 ac 1a2 1b2 121

保留相同A值id行

select

from table_a a

where not exists (

select 1 from table_a b

where bA = aA

and bid < aid

)

a7不是主键 这样删除delete from sqq where a7="重复的值" and id!=你要删除的主键

a7是主键 首先备份数据,mysqldump -u root -p >sqqsql,然后编辑上sqqsql修改重复的a7字段,接着导入数据

mysql -u root -p<sqqsql

以上就是关于mysql数据库删除某字段重复的数据保留ID小的命令是什么啊全部的内容,包括:mysql数据库删除某字段重复的数据保留ID小的命令是什么啊、在mysql数据库中如何让某个字段有重复的只取一条、在mysql数据库中如何让某个字段有重复的只取一条等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9859601.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存