SQL Server 2014 - 从可用序列中查找较低的最近数字

时间:2017-06-13 17:58:08

标签: sql sql-server

我需要在表中找到一个与给定值最接近的值。

所以,例如,值:

40, 42, 45, 48, 51, 53, 55, 58

选择最近的值为50.显然在上面的例子中它将是51.但是,在这个系列中:

40, 42, 45, 48, 53, 55, 58, 60

较近的值是48。

如果我有52,52已经可用,所以我需要选择。

我尝试使用数字DESC从表顺序中选择Top Top(1),但它获取了多个值。

1 个答案:

答案 0 :(得分:2)

您可以使用abs()

select top 1 value
from t
order by abs(51 - value);