从多参数SQL查询中插值数据

2024-06-18 13:17:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个具有以下参数的机器的设置数据库:

外径(OD)|内径(ID)|功率|速度|停留

当使用新的材质尺寸时,我想从最近的值插值设置,以尽量减少新材质所需的调整。在

对于数据库中不存在的OD和ID,什么是查询数据库中最接近的值的最佳方法>;和<;OD和ID组合,并根据这些值插值新大小的设置。在


Tags: 方法gt机器id数据库参数尺寸功率
1条回答
网友
1楼 · 发布于 2024-06-18 13:17:06

如果可以计算每行与所需值之间的“距离”,则可以按此对结果集排序,如果只需要“最近”的结果,则将结果集限制为1:

SELECT * FROM settings ORDER BY my_distance_calculation(od, id, :given_od, :given_id) LIMIT 1;

my_distance_calculation不必是函数。它可以是数据库方言中的任何有效表达式。例如,这只使用每个参数与其给定值的绝对差之和:

^{pr2}$

SQLite没有内置的幂函数,但如果有,则可以计算欧几里得距离:

SELECT * FROM settings ORDER BY POW(POW(od - :given_id, 2) + POW(id - :given_id, 2), 0.5) LIMIT 1;

相关问题 更多 >