在sql中删除重复记录(多种方法)

在sql中删除重复记录(多种方法)

ID:5805702

大小:35.00 KB

页数:11页

时间:2017-12-25

在sql中删除重复记录(多种方法)_第1页
在sql中删除重复记录(多种方法)_第2页
在sql中删除重复记录(多种方法)_第3页
在sql中删除重复记录(多种方法)_第4页
在sql中删除重复记录(多种方法)_第5页
资源描述:

《在sql中删除重复记录(多种方法)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在SQL中删除重复记录(多种方法)在SQL中删除重复记录(多种方法) 学习sql有一段时间了,发现在我建了一个用来测试的表(没有建索引)中出现了许多的重复记录。后来总结了一些删除重复记录的方法,在Oracle中,可以通过唯一rowid实现删除重复记录;还可以建临时表来实现...这个只提到其中的几种简单实用的方法,希望可以和大家分享(以表employee为例)。    SQL>descemployee    Name                   Null?  Type  -----------------------------------

2、--------------------------------    emp_id                        NUMBER(10)  emp_name                     VARCHAR2(20)    salary                         NUMBER(10,2)    可以通过下面的语句查询重复的记录:    SQL>select*fromemployee;      EMP_IDEMP_NAME                 SALARY    --------------

3、----------------------------------------------        1sunshine                   10000        1sunshine                   10000        2semon                    20000        2semon                    20000        3xyz                     30000        2semon                  

4、  20000    SQL>selectdistinct*fromemployee;      EMP_IDEMP_NAME                  SALARY    ------------------------------------------------------------        1sunshine                   10000        2semon                    20000        3xyz                      30000    SQ

5、L> select*fromemployeegroupbyemp_id,emp_name,salaryhavingcount(*)>1      EMP_IDEMP_NAME                  SALARY    ------------------------------------------------------------        1sunshine                   10000        2semon                     20000    SQL>select*frome

6、mployeee1    whererowidin(selectmax(rowid)fromemployee2    wheree1.emp_id=e2.emp_idand    e1.emp_name=e2.emp_nameande1.salary=e2.salary);      EMP_IDEMP_NAME                  SALARY    ------------------------------------------------------------        1sunshine              

7、     10000        3xyz                      30000        2semon                    20000    2.删除的几种方法:    (1)通过建立临时表来实现    SQL>createtabletemp_empas(selectdistinct*fromemployee)    SQL>truncatetableemployee;(清空employee表的数据)    SQL>insertintoemployeeselect*fromtemp_emp; (再将临时表

8、里的内容插回来)    (2)通过唯一rowid实现删除重复记录.在Oracle中,每一条记录都有一个rowid,rowid在整个数据库

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。