id number
1 13
2 17
3 20
4 30
5 40
如果我提供14,15,16那么它应该给我13。 如果我提供22,24,24那么它应该给我20。 如果我提供13,那么它应该给我13。 如果我提供20,那么它应该给我20。
我正在为此寻找mysql查询,它提供了最接近的最低值&实际价值。
答案 0 :(得分:1)
假设您发送一个包含值列表的表
SELECT
*
FROM
MyTable
WHERE
number <= (SELECT MIN(requireNuber) FROM InputTable)
ORDER BY
number DESC
LIMIT 1
虽然,我确信你只能从客户端发送最低值到MySQL(为什么不能),这会使代码看起来像
SELECT
*
FROM
MyTable
WHERE
number <= @MyParameter
ORDER BY
number DESC
LIMIT 1