当前位置:首页 » 数据仓库 » 数据库删除重复数据
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库删除重复数据

发布时间: 2022-01-22 16:25:22

㈠ mysql数据库删除重复数据

select max(id),url into #zhszty_ebook from zhszty_ebook
--先查询到临时表中
delete * from zhszty_book
--删除原表数据,或进干脆删除原来的表
insert into zhsty_book select * from #zhsty_book
--向原因添加数据,id如果是自增的则不能够直接添加,考虑重置一下后再添加。

如果原表的中的id没有多大使用的话——我的意思是重新编写id的话。
select distint url from zhszty_book
--只取出url并去掉重复值,清除原表数据后,然后再进行添加。

清除原表或添加不重复数据后,建产唯一索引:
create unique clustrede index IX_URL
on zhszty_book(url ASC);

建立唯一索引后不再能添加重复的url了!看看你们的数据库分析师——对修选键还不建立一个唯一非聚集索引,重复是必然的!你们的数据库分析师不合格啊!

㈡ sql数据库中出现重复行数据,如何删除这些重复记录

示例

假设存在一个产品信息表Procts,其表结构如下:

CREATETABLEProcts(
ProctIDint,
ProctNamenvarchar(40),
Unitchar(2),
UnitPricemoney
)

表中数据如图:

*fromProcts_tempdroptableProcts_temp


这样就完成了对表中重复记录的删除。无论表有多大,它的执行速度都是相当快的,而且因为几乎不用写语句,所以它也是很安全的

㈢ sql删除数据库中重复的数据语句怎么写

你要先找到规律,并且有确定的限制条件。是否所有的重复数据都删了只留一条?旧数据和新数据的界定是什么?是某个时刻?那旧数据中有重复数据删不删?重复数据是指仅仅title字段信息一样?

如果是在工作上,删除数据是一项很严谨的事,这个你必须要想清楚所有的条件情况,只是这样几句话,让网友给个sql语句,直接用上去,害的是你自己。

也不知道你的数据库具体是怎么样的,给个一般删除重复数据的方法
select distinct * into #Tmp_aa from tableName 把不重复的找出来插入到临时表
drop table tableName 删掉原来的表
select * into tableName from #Tmp_aa 把临时表插入到新建的tableName
drop table #Tmp_aa 删掉临时表

㈣ 在Mysql下如何删除重复的数据~

首先先创建一个临时表,然后将author表中无重复的数据拎出来,放进临时表中。
create temporary table 表名
select distinct id,name,password
from author

然后将author表中的记录全部删除。
delete from author

最后将临时表中的记录插入author表中
insert into author (id,name,password)
select id,name,password
from 临时表

㈤ SQL中如何删除重复数据

select
字段1,字段2,字段3
from
table
group
by
字段1,字段2,字段3
having
count(*)>1
用上边这句能找出所有重复的数据
字段1,2,3你替换成你表里的字段名,如果有更多字段的话,你就继续添加,最后group
by的时候不要忘记了
删除的时候要建立一个临时表
create
table
new_table
as
select
字段1,字段2,字段3
from
old_table
group
by
字段1,字段2,字段3;
然后删除原表数据
truncate
table
old_table;
然后把临时表数据反插回去
insert
into
new_table
select
*
from
old_table;

㈥ 关于删除SQL数据库表里重复数据的问题

5、创建联合主键
alter table 表名 add constraint pk_name_time primary key(name,time)

呵呵,我替奔驰补充的,分给他就是了

㈦ 求删除SQL数据库中某个表的重复数据

select distinct * into #tmp from tablename
drop table tablename
select * into tablename from #tmp
drop table #tmp
利用临时表进行删除,把tablename改成你的表名就行了。

㈧ sql数据库删除重复记录

delete from table where id not in

select min(id) from table group by name,url(如果有其他行辨别那么也在这里加上)
我保留的是id最小的行,你也可以留最大的行
我没办法加括号,写了子查询加了括号就发不上来

㈨ 如何查找和删除数据库中的重复数据

法一:
用Group
by语句
此查找很快的select
count(num),
max(name)
from
student
–查找表中num列重复的,列出重复的记录数,并列出他的name属性group
by
numhaving
count(num)
>;1
–按num分组后找出表中num列重复,即出现次数大于一次delete
from
student(上面Select的)这样的话就把所有重复的都删除了。—–慎重法二:当表比较大(例如10万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法:—-
执行下面SQL语句后就可以显示所有DRAWING和DSNO相同且重复的记录SELECT
*
FROM
EM5_PIPE_PREFABWHERE
ROWID!=(SELECT
MAX(ROWID)
FROM
EM5_PIPE_PREFAB
D
–D相当于First,SecondWHERE
EM5_PIPE_PREFAB.DRAWING=D.DRAWING
ANDEM5_PIPE_PREFAB.DSNO=D.DSNO);—-
执行下面SQL语句后就可以删除所有DRAWING和DSNO相同且重复的记录DELETE
FROM
EM5_PIPE_PREFABWHERE
ROWID!=(SELECT
MAX(ROWID)
FROM
EM5_PIPE_PREFAB
DWHERE
EM5_PIPE_PREFAB.DRAWING=D.DRAWING
ANDEM5_PIPE_PREFAB.DSNO=D.DSNO);法一:
用Group
by语句
此查找很快的select
count(num),
max(name)
from
student
–查找表中num列重复的,列出重复的记录数,并列出他的name属性group
by
numhaving
count(num)
>;1
–按num分组后找出表中num列重复,即出现次数大于一次delete
from
student(上面Select的)这样的话就把所有重复的都删除了。—–慎重法二:当表比较大(例如10万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法:—-
执行下面SQL语句后就可以显示所有DRAWING和DSNO相同且重复的记录SELECT
*
FROM
EM5_PIPE_PREFABWHERE
ROWID!=(SELECT
MAX(ROWID)
FROM
EM5_PIPE_PREFAB
D
–D相当于First,SecondWHERE
EM5_PIPE_PREFAB.DRAWING=D.DRAWING
ANDEM5_PIPE_PREFAB.DSNO=D.DSNO);—-
执行下面SQL语句后就可以删除所有DRAWING和DSNO相同且重复的记录DELETE
FROM
EM5_PIPE_PREFABWHERE
ROWID!=(SELECT
MAX(ROWID)
FROM
EM5_PIPE_PREFAB
DWHERE
EM5_PIPE_PREFAB.DRAWING=D.DRAWING
ANDEM5_PIPE_PREFAB.DSNO=D.DSNO);