mysql获取表中某个范围内的值

标签 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 来获取值?

最佳答案

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

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

关于mysql获取表中某个范围内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014996/

相关文章:

php - 将逗号分隔的字符串转换为列表

mysql - 在 MySQL 中获取分层数据

sql - 选择一个表中没有出现在另一个表的外键中的所有项目

mysql - 按两个表中的两列排序

mysql - 检查标签内是否存在逗号

MYSQL从连接表中选择最大日期

java - "com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value"与按位 'OR'

mysql - 打开/关闭大量 MySQL 连接会出现什么问题?

MySQL:连接三个表,比较两个值

mysql - Rails change_column 错误:Mysql2::Error: COLLATION 'utf8_general_ci' 对于字符集 'binary' 无效