gpt4 book ai didi

mysql - 如何在mysql中进行数学计算?

转载 作者:行者123 更新时间:2023-11-28 23:57:09 24 4
gpt4 key购买 nike

假设我有一张这样的 table

ID   Point   x     y     z
--- ---- --- --- ---
1 A 3 2 1
2 B 1 3 2
3 C 2 4 1
4 D 1 3 3
5 E 5 1 2

我想得到离 N 最近的点 (x,y,z) = (1,2,3)

为了得到最近的点,我们需要欧氏距离公式。比方说,[(N(x)-data(x))^2 + (N(y)-data(y))^2 + (N(z)-data(z))^2 的平方根]

如何在包含欧氏距离公式的查询中选择我想要的行?

最佳答案

只需使用order bylimit:

select t.*
from table t
order by power(x - 1, 2) + power(y - 2, 2) + power(z - 3, 2)
limit 1;

如评论中所述,您实际上不需要平方根,因为顺序相同。

顺便说一下,您可以将计算放在select 中,这样您就可以返回距离:

select t.*,
sqrt(power(x - 1, 2) + power(y - 2, 2) + power(z - 3, 2)) as distance
from table t
order by distance
limit 1;

关于mysql - 如何在mysql中进行数学计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31363938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com