我的MySQL表:
id | NUMER
1 | 1.233
2 | 4.233
3 | 5.123
4 | 1.146
float
值 5.4554
我需要从上表中选择行,按照最接近我的浮点值
的NUMBER顺序排列示例输出:
5.123
4.233
1.233
1.146
答案 0 :(得分:4)
尝试:
order by abs(numer - float)
答案 1 :(得分:2)
select *
from Table1
order by SUBSTRING(NUMER,
Locate(NUMER ,'.', 1)+3,
length(NUMER))
<强> SQL FIDDLE 强>
31
尝试后我终于得到了答案。
答案 2 :(得分:1)
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
?)
无论如何,example。