
楼上的语句~是很好的。
不过~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数据库中如何让某个字段有重复的只取一条等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)