我有一个包含点X
和Y
的表格。我需要找到距离原点X
最近的Y
和(0, 0)
点。
我正在尝试这种方式:
SELECT *
FROM `line`
WHERE xi < yi and 0 < xi and 0 < yi and yi < xi
ORDER BY yi and xi ASC
Limit 100
但我没有得到理想的价值。
答案 0 :(得分:6)
到原点的距离由sqrt(xi^2 +yi^2)
给出。由于平方根是严格提升的,因此可以省略它以便进行排序。这给了:
SELECT *
FROM `line`
ORDER BY xi*xi + yi*yi
Limit 100
答案 1 :(得分:1)
您需要计算距离d = sqrt(x²+y²)
以获得距离原点最近的点
select x, y, sqrt(x*x + y*y) as distance
from `line`
order by distance asc
limit 1
答案 2 :(得分:1)
SELECT xi, yi, xi * xi + yi * yi As r2
FROM line
ORDER BY r2