SQL Server 查询当前行、上一行、下一行合并查询
在SQL查询中,有时需要在查当前行时,同时将上一(几)行或下一(几)行数据与当前行合并到一行,便于做计算或查询显示。下面是我写的一个例子:
with t as
(
select top 1000 * from 客户资金表名
where 客户名称='北京科技公司'
order by 创建时间
),t1 as
(
SELECT top 1000 当前行=ROW_NUMBER() OVER(ORDER BY 创建时间),* FROM t
),t2 as
(
SELECT top 1000 当前行=ROW_NUMBER() OVER(ORDER BY 创建时间),* FROM t
)
select
t1.客户名称,t1.结余资金帐 as 本期结余资金帐,t1.创建时间
t2.结余资金帐 as 上期结余资金帐
from t1,t2 where t1.当前行=(t2.当前行+1)