Oracle查询重复记录,分页和去掉重复数据的查询语句
来源:互联网 发布:php transaction 编辑:程序博客网 时间:2024/05/01 16:18
今天一直在想一个sql的改造问题,需要用到题目中涉及的内容,于是google了下,最后把学习结果汇报下:
一、查询重复的记录的方法:
在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较高效的,如下语句:
select data_guid from adam_entity_datas a where a.rowid > (select min(b.rowid) from adam_entity_datas b where b.data_guid = a.data_guid)
如果表中有大量数据,但是重复数据比较少,那么可以用下面的语句提高效率
select data_guid from adam_entity_datas where data_guid in (select data_guid from adam_entity_datas group by data_guid having count(*) > 1)
此方法查询出所有重复记录了,也就是说,只要是重复的就选出来,下面的语句也许更高效
select data_guid from adam_entity_datas where rowid in (select rid from (select rowid rid,row_number()over(partition by data_guid order by rowid) m from adam_entity_datas) where m <> 1)
第一种方法比较好理解,但是最慢,第二种方法最快,但是选出来的记录是所有重复的记录,而不是一个重复记录的列表,第三种方法,我认为最好。
二、去掉查询中重复的,只是显示一条即可
select * from table1 where rowid=any(select max(rowid) from table1 group by field1)
或者
select * from table1 where rowid in (select max(rowid) from table1 group by field1)
三、分页:
oracle中的分页,经典的使用row_number() over(order by ... )的方法,这里介绍另外的一种方法:
select m.*
from (select rownum rownnum_, t.*
from (select *
from tablename
where rowid in
(select max(rowid) from tablename group by field1)
order by field1 asc, field12 desc) t
where rownum < 16) m
where rownnum_ > 2;
- Oracle查询重复记录,分页和去掉重复数据的查询语句
- Oracle查询重复记录,分页和去掉重复数据的查询语句
- 去掉重复记录和查询重复记录的常见方法
- 查询时去掉重复记录的问题
- ORACLE分页查询出现重复记录的解决办法
- ORACLE分页查询出现重复记录的解决办法
- oracle查询重复记录
- oracle查询重复记录
- oracle查询重复记录
- oracle分页查询数据重复问题
- Oracle分页查询排序数据重复问题
- Oracle 多分页查询 重复数据
- oracle分页查询数据重复问题
- oracle分页查询出现数据重复问题
- oracle分页查询数据重复问题
- Oracle分页查询排序数据重复问题
- oracle分页查询数据重复问题
- Oracle 查询并删除重复记录的SQL语句
- 实例讲解Java的多进程运行模式分析 --IT知道网(http://www.itwis.c...(转载)
- java参数传递(超经典)
- 淘宝网商品库优化(从Oracle迁移到MySQL)
- div自动居高(兼容FF)
- Ruby学习一 基础
- Oracle查询重复记录,分页和去掉重复数据的查询语句
- struts2 文件上传大小的限制(转载)
- How to deal with International trade outsourcing?
- 关于java多线程一些心得 - Java综合 - Java - ITeye论坛(转载)
- DWR3.0+Spring2.5实现Comet服务器到浏览器的消息推送
- Sendip使用说明
- document 和 window.document
- 让你的Android程序兼容多种分辨率
- response.setHeader()下载中文文件名乱码问题