ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 介绍SQl server 2012的新分析函数--Offset Functions

介绍SQl server 2012的新分析函数--Offset Functions

原创 Linux操作系统 作者:hegenhua 时间:2012-11-07 17:19:46 0 删除 编辑
 
        Window offset 函数包括两类,一类是计算相对于当前行的偏移位置,一类则是相对于window frame的起点或是终点。
第一类包括 LAG和LEAD这两个函数,第二类包括FIRST_VALUE, LAST_VALUE和 NTH_VALUE,在SQL server 2012中没有实现NTH_VALUE。
       Example for  LAG and LEAD:
            SELECT custid, orderdate, orderid, val,
                    LAG(val) OVER(PARTITION BY custid ORDER BY orderdate, orderid) AS prevval,
                    LEAD(val) OVER(PARTITION BY custid
           ORDER BY orderdate, orderid) AS nextval
           FROM Sales.OrderValues;
 
Result:
  
 
 
 
 
example for FIRST_VALUE, LAST_VALUE:
SELECT custid, orderdate, orderid, val,
FIRST_VALUE(val) OVER(PARTITION BY custid
ORDER BY orderdate, orderid) AS val_firstorder,
LAST_VALUE(val) OVER(PARTITION BY custid
ORDER BY orderdate, orderid
ROWS BETWEEN CURRENT ROW
AND UNBOUNDED FOLLOWING) AS val_lastorder
FROM Sales.OrderValues
order by custid,val
 
 
Result:
  
 
这个结果很好体会,因此不赘述
 

CONT.jpg

FIRST_VALUE.jpg

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/101629/viewspace-748588/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-02-17

  • 博文量
    24
  • 访问量
    63100