我有一个看起来像这样的表:
ID|DATA
1 | ok
4 | ok2
5 | kk
6 | same ok
7 | k
9 | yeah
我想找到与我的 id 最接近的匹配项(向下取整)。当我经过
编号 = 8
我想选择原始的7 | K
我如何在 mySql 中做到这一点
您可以使用此解决方案:
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
SELECT *
FROM table
WHERE ID <= 8
ORDER BY ID DESC
LIMIT 1