ORACLE分组排序查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE分组排序查询相关的知识,希望对你有一定的参考价值。
有一个表,A字段为唯一标示,B字段有重复数据,现在我想以B字段分组,以C字段显示每组的每条记录的子序号从“1”开始往后排。我这张表的数据很大,如果用row_number(),rank()这种函数可以实现,但是查询速度相当慢。哪位能提供一个快速的查询方法,句子多复杂都没事,只要求快。
row_number(),rank()是分析函数,是实现这种需求最高效的方法你需要大表的排序,速度肯定不会快到哪里去
建议你对需要排序的字段先创建一个索引,会快很多很多
发放依然还是用row_number(),这个比较好 参考技术A 按照你说的功能部分估计只能是
select row_number() as A, B, rank() as C
from yourtable
group by B;
查询速度优化只能优先从数据过滤方面着手
以上是关于ORACLE分组排序查询的主要内容,如果未能解决你的问题,请参考以下文章