从我的值中查找最接近的列值

时间:2017-04-07 07:54:22

标签: mysql sql database

我需要快速帮助,可以吗?

我需要从表中获得最接近的值。我的表中有工资栏,它有值:

10000
20000
45000
50000
60000
70000
and so on.

我有一个值,例如42000.我需要获取最近的行值42000(如果表中有42000,那么我想要相同的42000.)

2 个答案:

答案 0 :(得分:2)

您需要按绝对差异排序并选择第一行。

SELECT * FROM salaries ORDER BY ABS(salary - 42000) ASC LIMIT 0,1;

但您可能会考虑另一个订单或限制条款,因为两个或更多可能具有相同的最低工资。

答案 1 :(得分:0)

我有解决方案:) 在这里,

SELECT *,abs((salary-42000)) as near FROM tbl_salary WHERE order by near limit 0,1

感谢所有帮助我的人。