SqlServer2012中LEAD函数简单分析
LEAD函数简单点说,就是把下一行的某列数据提取到当前行来显示,看示例更能解释清楚,先看测试用脚本 SELECT * FROM @TestData以上是原始数据,下边应用LEAD函数,看下怎么把其它行的数据提取到当前行显示的 可以看到,LEAD函数把ID为2的那一行的LastName值提取到第一行显示为新列NEXTUser,就这么个功能 下边这个是间隔两行提取数据,就是把第三行的数据提取到当前行,其它行以次累推,看图 这个函数一共接受三个参数,第一个是表达式,以上示例都使用的字段,还可以是其它有效的表达式,第二个参数是offset,即间隔多少行取数据,第三个是默认的间隔,即当没有指定offset时以此为准 举个例子,以上述代码为例 LEAD(LastName,2,0) 当没有指定那个2的时候,则以间隔0行为准,当有指定那个2的时候则间隔2行取数据,所以,往往第三个参数可以不指定,效果是一样的,如下图 与LEAD函数相对应的还有一个函数,LAG,看下图效果 如上图所示,这个函数是从上行取数据,其它间隔参数的意义一样,LEAD是从下行取数据,TAG相反是上行取数据,写到这里我就再想,如果指定负数,是不是就可以合并为一个函数了?试下想法: 报错,offset参数不能为负,哥不作评论,,,The End (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |