oracle排序

摘要:
当oracle使用rownum进行排序时,可以考虑使用函数来实现排序:1。row_number()over()row_number(()over)(partitionbycol1orderbycol2)表示根据col1进行分组,此函数计算的值表示每个组的内部排序顺序号(组内连续且唯一)。此函数首先排序,然后在包含排序子句后计算行号。

oracle在使用rownum进行排序的时候,有时是会出错的,所以可以考虑使用函数实现排序:

1.row_number() over()
row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。 
与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪劣rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码。row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开始排序)。

2.rank() over()
rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)

3.dense_rank() over()
dense_rank()也是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的。

三个函数的使用方法一样,下面举两例:

select row_number() over (order by submit_time) t_rownum,a.* from T_YNYD_SURVEY a where QUESTION_NO='1'
select row_number() over (partition by QUESTION_NO order by submit_time) t_rownum,a.* from T_YNYD_SURVEY a

免责声明:文章转载自《oracle排序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇获取DOS命令的返回值.SDK的制作详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js实现之--防抖节流【理解+代码】

防抖:     理解:在车站上车,人员上满了车才发走重点是人员上满触发一次。     场景:实时搜索,拖拽。     实现:         //每一次都要清空定时器,重新设置上计时器值,使得计时器每一次都重新开始,直到最后满足条件并且等待delay时间后,才开始执行handler函数。 // func是用户传入需要防抖的函数 // wait是等待时间 c...

文件操作:获取一个文件行数的方法

获取一个文件行数的方法,需要的朋友可以参考一下   第一种方法 思路:将文件中的字符一个一个读出,然后与 作比较。 #include <stdio.h> #include <string.h> #include <errno.h> int...

jQuery教程(十三)jQuery Lightbox (插件)

Cody Lindley 移植的第一版“ Thickbox”让我第一次感受到了jQuery的魅力。后来他又做了一些 代码升级以修复若干跨浏览器的兼容性问题。 一些需要注意的地方 $(document).ready 取代了TB_init() 函数,作用是在每个包含对象名“thickbox”的链接上附加一个onClick事件。 function TB_in...

pcntl_fork()函数说明

pcntl_fork()函数复制了当前进程的PCB,并向父进程返回了派生子进程的pid,父子进程并行,打印语句的先后完全看系统的调度算法,打印的内容控制则靠pid变量来控制。因为我们知道pcntl_fork()向父进程返回了派生子进程的pid,是个正整数;而派生子进程的pid变量并没有被改变,这一区别使得我们看到了他们的不同输出。 1. 派生子进程的进程,...

移动端报表JS开发示例

最近对移动端的报表开发颇有研究,细磨精算了好久,虽然到现在还是”囊中羞涩”,但决定还是先抛砖引玉,拿点小干货出来和大家分享。 研究的工具是比较有代表性的FineReport。 1、  移动端哪些地方支持调用js web事件 分页预览 填报预览 加载结束事件 √ X 填报成功事件 -- √ 报表内部js 单...

MPI编程简单介绍

第三章 MPI编程   3.1 MPI简单介绍 多线程是一种便捷的模型,当中每一个线程都能够訪问其他线程的存储空间。因此,这样的模型仅仅能在共享存储系统之间移植。一般来讲,并行机不一定在各处理器之间共享存储,当面向非共享存储系统开发并行程序时,程序的各部分之间通过来回传递消息的方式通信。要使得消息传递方式可移植,就须要採用标准的消息传递库。这就促成的消...