mysql从表中获取值

时间:2013-08-02 10:44:37

标签: mysql

+------------+---------+
|    Column1 |  Column2|
+------------+---------+
|     25     |    5    |
|     30     |    5    |
|     35     |    5    |
|     40     |   5.5   |
|     45     |   5.5   |
|    100     |    6    |
+------------+---------+

假设我有上面的表格。

我希望根据Column1范围内的数字获取Column2值。

示例: 如果输入24或更少,则返回5 如果我的输入是30或32,应该给我5 如果我的输入是57,请给我5.5 如果输入110,则返回6

我应该运行什么样的SQL来获取值?

2 个答案:

答案 0 :(得分:5)

这将给出最接近的结果。不太确定这是否是你想要的

select column2
from your_table
order by abs($input - column1)
limit 1

答案 1 :(得分:1)

解决方案:

SELECT 
    Column2 
FROM 
    TableName 
WHERE 
    Column1 >= $number ORDER BY Column1 ASC LIMIT 0,1