我的 MySQL 表:
id | NUMER
1 | 1.233
2 | 4.233
3 | 5.123
4 | 1.146
float
值为5.4554
我需要从上表中选择最接近我的浮点值的行
示例输出:
5.123
4.233
1.233
1.146
尝试:
order by abs(numer - float)
select *
from Table1
order by SUBSTRING(NUMER,
Locate(NUMER ,'.', 1)+3,
length(NUMER))
经过31
尝试,我终于得到了答案。
SET @floatValue := 5.4554;
SELECT id, NUMER
FROM Table
ORDER BY ABS(@floatValue - NUMER)
只需按两者之间的差异排序。 5.4554-5.123
是 ~ 0.3
,哪里5.4554-1.146
是 ~ 4
。(虽然我认为你的演示可能已经关闭,但不应该1.233
先来1.146
?)
无论如何,例如。