本文主要是介绍ORACLE 分析统计函数,比对结果集中某两条数据并显示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
lead (列名,1) over (order by 列名)
用结果集中第一列和第二列进行比对,显示大的值
lag (列名,1) over (order by 列名)
用结果集中第一列和第二列的数据进行比对,显示比较小的数据;
如:
SELECT t.*,lead (updatedate,1) over (order by updatedate) FROM office_workflowtracking t WHERE workflowinstance_guid='{BF89E5C8-FFFF-FFFF-8897-30FB00000538}'
或
SELECT t.*,lag (updatedate,1) over (order by updatedate) FROM office_workflowtracking t WHERE workflowinstance_guid='{BF89E5C8-FFFF-FFFF-8897-30FB00000538}'
lead(列名,当前记录以下的第几条记录) over([partition by column] [order by 列序的列名])
over可以想成是某个范围内;partition by 即这个范围的结束;如果不写,则表示对整个结果集;
如:lead(a,3) over(partition by cols order by update) 即:比对当前结果集按update列进行排序,用当前记录的a列和当前记录下面的第3条记录(因为此例子中有partition by 表示如果第三条记录的cols列的值于当前列的值不同,则不进行比对,显示为Null)a列进行比对,并显示大的值
常用的方式有:
lead(a,1) over()
lead(a,1)over(order by cols)
lead(a)over(partition by cols)
lead(a)over(partition by cols order by update)
这篇关于ORACLE 分析统计函数,比对结果集中某两条数据并显示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!