取最接近的一条记录
表有3列
坐标X 坐标Y 记录
1.1 2.3 xxxx
................
这些坐标有的连续 有的不连续
现在给出 坐标 90.45 20.22
如果有这个坐标那么就返回这条记录 如果没有就返回最接近的坐标的记录
请问怎么写这条语句
(PS:这个表有980w条记录)
[解决办法]
- SQL code
select top 1 *from tborder by abs(90.45-[坐标X])+abs(20.22-[坐标Y])
[解决办法]
- SQL code
select top 1 *from taborder bysqrt(power(坐标X-90.5,2)+power(坐标Y-20.22,2))
[解决办法]
- SQL code
select top 1 * from tb order by ((x - 90.45 )*(x - 90.45 ) + (y - 20.22)*(y - 20.22))