首页 > 解决方案 > 如何检查列中所有值之间的范围

问题描述

下面给出我的 MYSQL 表。固定值:

Fuel           Percentage(%)
------         -------
150 (L)          100 
120 (L)          90 
90  (L)          70
10  (l)          20 

这个数据也固定了。假设我声明变量 getValue=130 现在我想检查 getValue=130 是 MYSQL 表中的哪个范围。很容易猜到 getValue=130 范围将是(120 L 到 150 L),百分比范围是(90 到 100) 所以在这个问题陈述中。如何查找范围并查找 MYSQL 数据库表的百分比?我怎么能用python做到这一点。

标签: pythonmysql

解决方案


如果您总是在有效范围内检索值(即在您的示例中为 10 到 150 之间),则以下查询为您提供范围:

select
  f.fuel as fuel_from, f.percentage as percentage_from,
  t.fuel as fuel_to, t.percentage as percentage_to
from (
  select * from t where fuel <= 130 order by fuel desc limit 1
) f
cross join (
  select * from t where fuel >= 130 order by fuel limit 1
) t

推荐阅读