MySQL查询最近最低值和实际值问题

标签 mysql

我有 table 使用字段和值进行“测试”

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

最佳答案

假设您发送一个包含值列表的表格

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

关于MySQL查询最近最低值和实际值问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991934/

相关文章:

php - 将 MYSQL phpmyadmin 导出到 Excel

mysql - 将具有 2 个 FK 的表连接到一张表

python - Django ORM,按天分组

mysqli子查询未知列

mysql - 从相关表中插入具有给定值和值的多行

MySQL 到 MongoDB 的转换

php - 如何从嵌套连接查询中进行选择

php - "parameterized queries/prepared statements"在 SQL 注入(inject)中如何比转义用户输入更好

MySQL 删除 %startcode%endcode% 处的文本

MYSQL JOIN 出现 AND 错误