SQL Server数据库如何将当前行和上下行合并查询

SQL Server数据库查询过程中,我们有时候需要在查询当前行时,同时将上一(几)行或下一(几)行数据与当前行合并到一行,进行合并查询。便于做计算或查询显示。本文我们给出了一个例子,通过这个例子我们来了解一下如何把当前行、上一行和下一行的数据合并在一起进行查询。

本例子的代码:

  1. with t as  
  2.  
  3. (  
  4.  
  5. select top 1000 * from 客户资金表名  
  6.  
  7. where 客户名称='北京科技公司'  
  8.  
  9. order by 创建时间  
  10.  
  11. ),t1 as  
  12.  
  13. (  
  14.  
  15. SELECT top 1000 当前行=ROW_NUMBER() OVER(ORDER BY 创建时间),* FROM t  
  16.  
  17. ),t2 as  
  18.  
  19. (  
  20.  
  21. SELECT top 1000 当前行=ROW_NUMBER() OVER(ORDER BY 创建时间),* FROM t  
  22.  
  23. )  
  24.  
  25. select  
  26.  
  27. t1.客户名称,t1.结余资金帐 as 本期结余资金帐,t1.创建时间  
  28.  
  29. t2.结余资金帐 as 上期结余资金帐  
  30.  
  31. from t1,t2 where t1.当前行=(t2.当前行+1) 

如果您还是不太明白上面的代码,没有关系,下图给出了上面代码的详细解释,相信您一定会看懂的。

SQL Server数据库如何将当前行和上下行合并查询

相信通过上面的代码示例和图中的代码解释,我们一定能明白这一过程是怎么实现的了。关于SQL Server数据库当前行及上一行、下一行合并查询的知识就介绍到这里了,如果您想了解更多的关于SQL Server数据库的知识,可以看一下这里的文章:http://database.51cto.com/sqlserver/,相信一定会带给您收获的!

原文地址:https://www.cnblogs.com/lvfeilong/p/fdgdf345345.html