0

我有带有文件和值的表“测试”

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 查询,它提供最接近的最低值和实际值。

4

1 回答 1

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
于 2012-06-12T07:15:17.410 回答