1

我有一个看起来像这样的表:

ID|DATA
1 | ok
4 | ok2
5 | kk
6 | same ok
7 | k
9 | yeah

我想找到与我的 id 最接近的匹配项(向下取整)。当我经过

编号 = 8

我想选择原始的7 | K

我如何在 mySql 中做到这一点

4

2 回答 2

3

您可以使用此解决方案:

SELECT   id, data
FROM     tbl
WHERE    id <= 8
ORDER BY id DESC
LIMIT 1

或者,这是另一种无需使用ORDER BY/即可完成的方法LIMIT

SELECT b.id, b.data
FROM   (SELECT MAX(id) AS id FROM tbl WHERE id <= 8) a
JOIN   tbl b ON a.id = b.id
于 2012-07-28T09:06:18.867 回答
0
SELECT * 
 FROM table
 WHERE ID <= 8
 ORDER BY ID DESC
 LIMIT 1
于 2012-07-28T09:06:37.340 回答