我有一个基于两个双值x0,y0
的点坐标,格式为:xx.x(指向小数点分隔符)
在数据库中,我有一个由坐标x1,y1
定义为起点,x2,y2
定义为终点的行列表。在数据库中的其他列(例如线条粗细等)中,有以下列:
id | x1 | y1 | x2 | y2
我需要的是一个查询,它返回任何具有最接近我的基点(x0,y0)的starpoint(x1,y1)或端点(x2,y2)的行。所以开始或结束的线最接近我当前的位置。
谢谢
答案 0 :(得分:1)
SQLite没有平方根函数,但是为了比较距离,我们也可以使用距离的平方:
SELECT *
FROM MyTable
ORDER BY min((x1-x0)*(x1-x0) + (y1-y0)*(y1-y0),
(x2-x0)*(x2-x0) + (y2-y0)*(y2-y0))
LIMIT 1