我需要快速帮助,可以吗?
我需要从表中获得最接近的值。我的表中有工资栏,它有值:
10000
20000
45000
50000
60000
70000
and so on.
我有一个值,例如42000.我需要获取最近的行值42000(如果表中有42000,那么我想要相同的42000.)
答案 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
感谢所有帮助我的人。