【发布时间】:2015-02-02 19:17:41
【问题描述】:
我有这个sql语句:
SELECT * FROM members ORDER BY last_name ASC, first_name ASC LIMIT 0, 10
以上用于索引页面。
在详情页,我用
SELECT * FROM members WHERE id = :id
如何根据当前行 id 获取上一行和下一行? (上一个和下一个按last_name ASC,first_name ASC排序)
我想应该是这样的:
SELECT id FROM members WHERE last_name >= : last_name AND id != :id ORDER BY last_name ASC, first_name ASC
但这是不对的。我还需要以某种方式将 first_name 添加到语句中,并且只执行 first_name >= : first_name 不正确。
【问题讨论】:
-
所以你有一个 id,如果表格是按姓氏排序的,你想要前一个和下一个?
-
@Hogan - 这是正确的