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 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 如何找出是谁/什么是锤击SQL Serv
- sql – 用户的唯一标识符
- tsql – SQL无效转换返回null而不是抛出错误
- sql-server-2012 – 检测SQL Server中的锁定表或
- SQL Server ROW_NUMBER SQL Server 2005的LIMIT功
- SQL Server数据类型char、nchar、varchar、nvarc
- sql-server – FOR XML无法序列化数据,因为它包含
- sql – XML Oracle:多个子节点提取
- SQL Server 跨服务器查询导入数据的sql语句
- sql-server – SQL Large Table选择随机行策略
