使用rowid去除oracle表中的重复项
来源:互联网 发布:删除淘宝中差评的公司 编辑:程序博客网 时间:2024/06/07 23:59
需求,有如下一张b_user表,请去除employee_name重复的项
-- Create table
create table B_USER
(
id VARCHAR2(32) not null,
employee_id VARCHAR2(15),
employee_name VARCHAR2(30),
org_id VARCHAR2(15),
org_filed VARCHAR2(15)
)
解决方案:利用group by子句找出重复项;利用rowid去除重复项,分析步骤如下:
--1、筛选出重复的雇员名字
select employee_name from b_user group by employee_name having count(*)>1;
--2、筛选出名字重复的雇员信息
select * from b_user where employee_name in (
select employee_name from b_user group by employee_name having count(*)>1
);
--3、筛选min(rowid)或max(rowid)雇员信息
select min(rowid) from b_user where employee_name in (
select employee_name from b_user group by employee_name having count(*)>1
) group by employee_name;
--4、去除重复项
delete from b_user where employee_name in (
select employee_name from b_user group by employee_name having count(*)>1
) and rowid not in (
select min(rowid) from b_user where employee_name in (
select employee_name from b_user group by employee_name having count(*)>1
) group by employee_name
);
执行SQL后的效果如下:
- 使用rowid去除oracle表中的重复项
- oracle 表中的rowid是什么意思
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- 在Oracle中如何利用Rowid查找和删除表中的重复记录(转)
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- 在Oracle中利用Rowid查找和删除表中的重复记录
- Toad查询显示Oracle 表中的RowId
- Oracle中的Rowid
- ORACLE数据库中的ROWID
- Oracle中的rownum、rowid
- Oracle 中的rowid
- oracle中的外部rowid
- oracle中的ROWID列
- Oracle中的Rowid
- ORACLE中的ROWID
- Oracle中的rowid学习
- 菜鸟学IT之IP基础
- Java路径问题最终解决方案—可定位所有资源的相对路径寻址(沈东良)
- linux 工具集合
- 2017.3.11 NOIP2017赛前模拟考试总结
- HTTP状态码
- 使用rowid去除oracle表中的重复项
- 封装相机功能->>>>>block返回image
- 观察者模式
- BZOJ 3940 [Usaco2015 Feb] Censoring
- 解析大型.NET ERP系统 20条数据库设计规范
- 创建一个helloworld springmvc的web工程
- Code Cache满导致接口性能变慢
- 根据中序遍历和先序遍历,后序遍历创建二叉树。
- 【Linux】Linux中常用操作命令