使用此 sql,我可以使用 ID 按字母顺序获取下一个名称
SELECT id
FROM `names`
WHERE `name` > (SELECT `name` FROM `names` WHERE `id` = X)
ORDER BY `name` ASC, `id` ASC
但是让我们假设我有这些我有这些记录
id | name
---------
12 | Alex
8 | Bert
13 | Bert
17 | Bert
4 | Chris
假设我有 id 12 作为参考,我得到了结果
id | name
---------
8 | Bert
13 | Bert
17 | Bert
4 | Chris
但是如果我使用 8 作为参考,我会得到
id | name
---------
4 | Chris
Bert 13 和 17 将被跳过。