在行SQL之前和之后获取

时间:2012-10-30 21:33:29

标签: mysql

我有以下SQL:

SELECT `PersonID`, `Title`.`Title`, `FirstName`, `LastName` 
FROM `Person` 
ORDER BY `cft` ASC, `FirstName` ASC

现在问题是因为结果不是数字,如果我将PersonID设置为1020,是否有获得前后行的方法?

1 个答案:

答案 0 :(得分:1)

以下是下一行的条件(假设每个FirstName没有相似的cft):

WHERE (`cft` = :cft AND FirstName > :firstname) OR (`cft` > :cft)
ORDER BY `cft` ASC, `FirstName` ASC
LIMIT 1

其中:cft:firstnamePersonID = 1020行所对应的值。

上一行的条件非常类似于我所展示的那个,我相信你可以自己拿到它(把它作为家庭作业)