select
*
from
tb
where
id=@id;
--当前记录
select
top
1 *
from
tb
where
id>@id
order
by
id;
--下一条记录
select
top
1 *
from
tb
where
id<@id
order
by
id
desc
--上一条记录
;
WITH
TUsers
AS
(
SELECT
*, ROW_NUMBER() OVER (
ORDER
BY
vcUserID)
AS
_ROW
FROM
DB_Fast_Users.dbo.T_Users
AS
A(NOLOCK)
)
SELECT
*
into
#T
FROM
TUsers
-- 上一条
select
B.*
from
#T
AS
A(NOLOCK)
left
join
#T
AS
B(NOLOCK)
ON
B._ROW = (A._ROW - 1)
where
A.vcUserID=
‘Test1‘
-- 下一条
select
B.*
from
#T
AS
A(NOLOCK)
left
join
#T
AS
B(NOLOCK)
ON
B._ROW = (A._ROW + 1)
where
A.vcUserID=
‘Test1‘
drop
table
#T
sqlserver获取当前id的前一条数据和后一条数据,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/Michael-W/p/3738242.html