Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从多参数SQL查询插入数据_Python_Database_Sqlite_Interpolation_Pyodbc - Fatal编程技术网

Python 从多参数SQL查询插入数据

Python 从多参数SQL查询插入数据,python,database,sqlite,interpolation,pyodbc,Python,Database,Sqlite,Interpolation,Pyodbc,我有一个具有以下参数的机器设置数据库: 外径外径|内径内径|功率|速度|停留时间 使用新材质尺寸时,我希望从最接近的值插值设置,以最小化我需要对新材质进行的调整 给定数据库中不存在的OD和ID,查询数据库中最接近的值>和

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

外径外径|内径内径|功率|速度|停留时间

使用新材质尺寸时,我希望从最接近的值插值设置,以最小化我需要对新材质进行的调整


给定数据库中不存在的OD和ID,查询数据库中最接近的值>和如果您可以计算每行与所需值之间的距离,您可以按此顺序排列结果集,如果只需要最接近的结果,请将结果集限制为1:

SELECT * FROM settings ORDER BY my_distance_calculation(od, id, :given_od, :given_id) LIMIT 1;
我的距离计算不必是一个函数。它可以是数据库方言中的任何有效表达式。例如,这仅使用每个参数与其给定值的绝对差之和:

SELECT * FROM settings ORDER BY ABS(od - :given_od) + ABS(id - :given_id) LIMIT 1;
SQLite没有内置的幂函数,但如果有,则可以计算欧几里德距离:

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

你自己试过什么吗?开始的代码?Best是主观的。正如@Jared的回答所暗示的,您可能应该与了解相关机器的人交谈,以了解用于计算接近度的函数。根据机器执行的操作,OD可能比ID重要得多,反之亦然。