在学习postgres / SQL方面是全新的,我有一个名为error_table的表,看起来像这样:
id min max error_percent
10R46 1 25 9
10R46 25 50 9
100R91 50 100 4.5
10R91 100 200 4.6
10M95 200 300 5.5
但是当我的输入数为160时,我很难生成一个关于如何动态执行此操作的查询,我想返回error_percent值4.6,因为160位于最小列100和最大列200之间。
到目前为止,这就是我要查询的内容
SELECT error_percent FROM error_table WHERE min <= 160
现在的问题是,我不能使用max <=160
。如何动态查询返回的最小结果的相应最大值并将其用作我的max <=返回的最大值?
如果您有比我的解决方案更好的解决方案,我感谢您的分享。
使用范围比较:
SELECT error_percent
FROM error_table
WHERE min < 160 AND max >= 160;
这是假定你的范围是开放的最小边和关闭的最大的一面。如果不是,则需要更改上述范围比较。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句