0

フィールドと値を含むテーブル「テスト」があります

id number
1   13
2   17
3   20
4   30
5   40

14、15、16 を指定すると、13 が返されます。22、24、24 を指定すると、20 が返されます。13 を指定すると、13 が返されます。20 を指定すると、13 が返されます。 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 に答える