我有一张看起来像这样的表:
ID|DATA
1 | ok
4 | ok2
5 | kk
6 | same ok
7 | k
9 | yeah
我想找到与我的身份最接近的匹配(向下舍入)。当我通过
id = 8
我想选择原始7 | K
我如何在mySql中执行此操作
答案 0 :(得分: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
答案 1 :(得分:0)
SELECT *
FROM table
WHERE ID <= 8
ORDER BY ID DESC
LIMIT 1