Sql 选择一列数字接近10的记录
我有一个有三列的表。 其中之一是Sql 选择一列数字接近10的记录,sql,sql-server,Sql,Sql Server,我有一个有三列的表。 其中之一是[code]。这张桌子上有很多记录 我想选择他们的[code]是定期接近10的数字的记录 例如,如果选择[code]=9的记录,那么选择[code]=8的记录等等。这是我根据您的想法实现的 如果希望接近记录或记录id,而不是值,则可以将仅条件a.data更改为a.rid declare @t table (data int) insert into @t values(1), (2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(
[code]
。这张桌子上有很多记录
我想选择他们的[code]
是定期接近10
的数字的记录
例如,如果选择
[code]=9的记录,那么选择[code]=8的记录等等。这是我根据您的想法实现的
如果希望接近记录或记录id,而不是值,则可以将仅条件a.data
更改为a.rid
declare @t table (data int)
insert into @t values(1), (2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(50),(51),(52)
declare @value int = 11 , @getDatToValue int = 2
select * from
(
select * , ROW_NUMBER( ) over(order by data) rid
from @t
)
a
where
a.data between (@value - @getDatToValue) and (@value + @getDatToValue)
不够清楚。无法得到你想要的东西。显示您的查询尽管有一些示例数据。我没有任何查询,因为我无法从您的表中选择*,其中[Code]<10按代码顺序描述。。。这就是我从你的描述中得到的。。。花点力气吧。。。