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

Posted

tags:

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

这个删除也删不了,改也改不掉,怎么办

出现这种情况的原因是你的表没有建立关键字,当出现重复数据时,sqlserver自带的图形化工具删除就会出现你出现的问题,即不能删除也不能更新,你可以使用如下方法解决:
1、给表建立关键字,比如增加一列自增的字段,这时候就可以删除了,删除完成后再删除新增的列即可
2、不增加字段,使用delete语句删除,但是这种情况会删除符合条件的数据,包括重复的数据
3、推荐使用1的方法
参考技术A

应该是有软件正在调用这些数据,或者生成这些数据,所以删除不了。

    请检查你的软件有没有退出,或者结束进程。

    可以使用一些简单的语句

Delete  表名称     --(就是现在打开的表名称)

Where  ID=1      --(ID=1就是删除一行,ID就是列名称)

sqlserver 数据有重复怎么删除

参考技术A 1、必须保证表中有主键或者唯一索引,或者某列数据不能重复。只有这样,才可能使用一句SQL来实现。否则只能考虑其它办法。下面的语句,假定BB列是不重复的,删除后保存BB列值最大的那条记录。
delete
from

where
aa
in
(select
aa
from

group
by
aa
having
count(aa)
>
1)
and
bb
not
in
(select
max(bb)
from

group
by
aa
having
count(aa)
>
1);
2、有多种写法:
delete
A
from
B
where
A.AA
=
B.AA
delete
A
from
A,B
where
A.AA
=
B.AA
delete
A
where
AA
in
(select
AA
from
B)
3、使用into关键字:
select
*
into
新表名
from
原表
4、取数据前3位,字段必须是类似char类型,使用类似substring这样的函数(SYBASE是substring,ORACLE是substr):
select
substring(字段,1,3)
from
表名

以上是关于SQL中表里面怎么删除重复数据的主要内容,如果未能解决你的问题,请参考以下文章

怎么删除ACCESS中的重复记录 只保留一条

如何删除list里面的重复字段

sqlserver 数据有重复怎么删除

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

SQL语句删除重复的记录

SQL SERVER怎么去掉重复数据?