mysql删除重复的数据(仅一个字段),sql怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql删除重复的数据(仅一个字段),sql怎么写相关的知识,希望对你有一定的参考价值。

有一个表 只有一个字段为name
select* from aa
--name--
a
b
a
c
如何删除重复的a和c,也就是只剩下
a
b
c
后面的重复的a被删除了?要就是只留一个a的数据。
这个sql怎么写?

参考技术A distinct不就可以么,不过具体删除的是哪个a我就不知道了
select distinct name from aa追问

实际上就是去重,只是这个表只有一个字段,如何去重?

追答

还是同样去重啊(查询是这样),难道还有什么特殊要求,语句我都写出来了,还有什么?
不会是想删除掉重复的吧,如果想删除掉重复的,那就稍微麻烦点了,就简单的办法就是select以后另外建立一张表,然后将这张表删除,然后那张表再改名。
如果不想这么做,那么只能自己做开窗函数了,然后删掉大于1的部分。

追问

虽能帮忙个存储过程解决这个问题啊?谢谢了!

追答

用什么存储过程啊,我都写了。
(1)建立新表,你这里就一个字段也好建立。
(2)查出去除重复以后的数据。
(3)将数据insert进新建的表
以上三步似乎可以一步完成,:create table aa_temp select distinct name from aa,oracle下语句mysql能不能用忘了。
(4)删除原表
drop table aa
(5)新表改名为原表的名称。
就是改表名,把aa_temp改为aa

MySQL更改字段的数据类型[重复]

【中文标题】MySQL更改字段的数据类型[重复]【英文标题】:MySQL change data type for field [duplicate] 【发布时间】:2019-01-21 04:09:42 【问题描述】:

我不小心在我的数据库文本上创建了一个字段,而它本来应该是字符串。我需要删除表并重新执行还是可以更改它?

【问题讨论】:

删除了 python 标签——这不是 Python 问题,而是 sql 问题。 搜索“mysql 更改字段类型”会产生很多有用的答案。作为一般规则,您应该在提出问题之前先自己研究该主题(然后提及您发现了什么以及为什么它不能解决您的问题)。 【参考方案1】:

您必须使用 ALTER TABLE "table_name" DROP "column_name" 删除字段;然后用 ALTER TABLE "table_name" ADD "field_name" "data type of the new field" 添加新字段;

【讨论】:

您不需要删除该字段 - 这会丢失所有现有数据 - 您只需修改它即可。

以上是关于mysql删除重复的数据(仅一个字段),sql怎么写的主要内容,如果未能解决你的问题,请参考以下文章

SQLserver数据库中所有字段全部一样的重复数据如何删除?

SQL中表里面怎么删除重复数据

mysql怎么去除重复数据

mysql删除完全重复行,求教

mysql连表查询出现重复的数据怎么办

mysql,sqlserver数据库去重