大约获取最接近的行

时间:2019-03-12 10:26:39

标签: sql sql-server

我有一张这样的桌子:

TableTest

Col1  Col2  Col3  Col4
 5     6     7     8
 12    6     5     6
 2     3.5   6     1

我想用这个找到最接近的行:4,5.75,7.2,6 一个人可以找到它(第1行是答案),但是我如何编写查询以供计算机找到它?

1 个答案:

答案 0 :(得分:1)

我将“最接近”解释为“在表值和提供的表值之间具有最小绝对差之和”:

select top 1 col1,col2,col3,col4
from yourtable
order by abs(col1-4)+abs(col2-5.75)+abs(col3-7.2)+abs(col4-6) asc