2024-06-18 13:17:06 发布
网友
我有一个具有以下参数的机器的设置数据库:
外径(OD)|内径(ID)|功率|速度|停留
当使用新的材质尺寸时,我想从最近的值插值设置,以尽量减少新材质所需的调整。在
对于数据库中不存在的OD和ID,什么是查询数据库中最接近的值的最佳方法>;和<;OD和ID组合,并根据这些值插值新大小的设置。在
如果可以计算每行与所需值之间的“距离”,则可以按此对结果集排序,如果只需要“最近”的结果,则将结果集限制为1:
SELECT * FROM settings ORDER BY my_distance_calculation(od, id, :given_od, :given_id) LIMIT 1;
my_distance_calculation不必是函数。它可以是数据库方言中的任何有效表达式。例如,这只使用每个参数与其给定值的绝对差之和:
my_distance_calculation
SQLite没有内置的幂函数,但如果有,则可以计算欧几里得距离:
SELECT * FROM settings ORDER BY POW(POW(od - :given_id, 2) + POW(id - :given_id, 2), 0.5) LIMIT 1;
如果可以计算每行与所需值之间的“距离”,则可以按此对结果集排序,如果只需要“最近”的结果,则将结果集限制为1:
^{pr2}$my_distance_calculation
不必是函数。它可以是数据库方言中的任何有效表达式。例如,这只使用每个参数与其给定值的绝对差之和:SQLite没有内置的幂函数,但如果有,则可以计算欧几里得距离:
相关问题 更多 >
编程相关推荐