方法一:
方法二:
上一条:
下一条:
SELECT * FROM table_name WHERE id IN (
SELECT CASE
WHEN SIGN(id - 8) > 0
THEN MIN(id)
WHEN SIGN(id - 8) < 0
THEN MAX(id) END AS id
FROM table_name WHERE id <> 8 GROUP BY SIGN(id - 8) ORDER BY SIGN(id - 8)
) ORDER BY id ASC; 方法二:
上一条:
SELECT * FROM table_name WHERE id < $id ORDER BY id DESC LIMIT 1 下一条:
SELECT * FROM table_name WHERE id > $id ORDER BY id ASC LIMIT 1
本文介绍两种SQL技巧,用于高效地从数据库中检索指定ID前后的记录。第一种方法使用CASE WHEN语句结合GROUP BY和ORDER BY实现,第二种方法则通过简单的两步查询完成。这些技巧对于需要展示列表中当前项相邻项的应用场景非常实用。
2803

被折叠的 条评论
为什么被折叠?



