mysql、oracle删除重复数据
2017-12-13 15:09
330 查看
oracle
mysql
由于myql执行和oracle一样的语句时,会报错:
所以,想了一个办法,可以先把需要删除的数据插入到例外一张临时表中,然后根据这张表的数据进行删除,sql语句如下:
delete from bis_route_info where source_id in (select SOURCE_ID from bis_route_info group by SOURCE_ID having count(SOURCE_ID) > 1) and uuid not in (select min(uuid) from bis_route_info group by SOURCE_ID having count(SOURCE_ID) > 1)
mysql
由于myql执行和oracle一样的语句时,会报错:
[Err] 1093 - You can't specify target table 'bis_route_info' for update in FROM clause
所以,想了一个办法,可以先把需要删除的数据插入到例外一张临时表中,然后根据这张表的数据进行删除,sql语句如下:
--创建临时表 create table bis_route_temp (uuid varchar(40)) --将待删除的数据插入临时表 insert into bis_route_temp (uuid) select uuid from bis_route_info where source_id in (select SOURCE_ID from bis_route_info group by SOURCE_ID having count(SOURCE_ID) > 1) and uuid not in (select min(uuid) from bis_route_info group by SOURCE_ID having count(SOURCE_ID) > 1) --根据临时表的数据进行删除 delete from bis_route_info where uuid in(select uuid from bis_route_temp)
相关文章推荐
- 在Mysql和Oracle中如何删除字段中的重复数据
- oracle中如何删除重复数据
- oracle中如何删除重复数据
- 关于MySql删除表中重复数据
- oracle中如何删除重复数据
- Oracle 删除重复数据只留一条
- ORACLE删除重复数据
- MySQL删除重复数据
- 【Oracle】比较快的删除重复数据的方式
- oracle 查询重复数据并且删除, 只保留一条数据
- ORACLE 删除重复数据
- mysql重复数据删除
- 删除Mysql数据表中多余的重复记录的sql语句
- mysql,oracle里删除重复记录,只保留一条(除了自增长字段,其他的字段完全相同为相同记录)
- Oracle删除重复数据
- Oracle查询重复数据并删除,只保留一条记录
- Oracle 删除重复数据只留一条
- mysql 删除单表内多个字段重复的数据
- oracle删除重复数据,只留一条数据
- 删除MySQL重复数据