Sql server 2008 是否根据SQL Server 2008中的顺序/等级进行更新?

Sql server 2008 是否根据SQL Server 2008中的顺序/等级进行更新?,sql-server-2008,rank,Sql Server 2008,Rank,表如下所示: create table #rankme (rankmeid int identity(1000, 1) primary key, step int null, checkvalue int null) insert into #rankme values ( 10 , 1 ) insert into #rankme values ( 15 , null ) insert into #rankme values ( 20 , null

表如下所示:

create table #rankme (rankmeid int identity(1000, 1) primary key, 
                      step int null, checkvalue int null)

insert into #rankme values ( 10 , 1 )
insert into #rankme values ( 15 , null )
insert into #rankme values ( 20 , null )
insert into #rankme values ( 40 , null )

select * from #rankme order by step,checkvalue
步骤
作为一个参数,我试图找出我请求的
步骤
之前的
检查值
是否为空

所以我想选择
其中step=20
并获得
NULL

我想选择
where step=15
,然后得到
1

我想根据“排名1”来设计一些东西,但到目前为止还没有雪茄

帮助?

声明@step int=15
选择顶部(1)R.checkvalue
从#rankme as R
其中R.step<@step
按R.step desc订购
declare @step int = 15

select top(1) R.checkvalue
from #rankme as R
where R.step < @step
order by R.step desc