经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
mssql sqlserver 使用sql脚本实现相邻两条数据相减的方法分享
来源:cnblogs  作者:Adeal2008  时间:2019/5/29 8:49:11  对本文有异议

摘要:
下文讲述使用sql脚本实现相邻两条数据相减的方法,如下所示:
实验环境:sql server 2008 R2



实现思路:
1.使用cte表达式,对当前表进行重新编号
2.使用左连接对 表达式 生成的临时表进行错位连接,并对生成的新纪录中两列进行相减

  1. create table [maomao365] (sort varchar(30),qty int);
  2. go
  3. ----生成基础数据
  4. insert into [maomao365](sort, qty)values
  5. ('maomaoA',10),('maomaoB',20),
  6. ('maomaoC',30),('maomaoD',40),
  7. ('maomaoE',50),('maomaoF',60)
  8. go
  9.  
  10. with cte_temp as
  11. (
  12. select row_number() over(order by qty asc ) as keyId ,* from
  13. [maomao365]
  14. )
  15. select a.sort,a.qty,b.qty,(isnull(a.qty,0)-isnull(b.qty,0)) as [相邻行之差] from cte_temp a
  16. left join cte_temp b on a.keyId =(b.keyId+1) ---计算相邻两行之差
  17.  
  18.  
  19. go
  20. truncate table [maomao365]
  21. drop table [maomao365]

原文链接:http://www.cnblogs.com/lairui1232000/p/10938166.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号