我有以下SQL:
SELECT `PersonID`, `Title`.`Title`, `FirstName`, `LastName`
FROM `Person`
ORDER BY `cft` ASC, `FirstName` ASC
现在问题是因为结果不是数字,如果我将PersonID
设置为1020,是否有获得前后行的方法?
答案 0 :(得分:1)
以下是下一行的条件(假设每个FirstName
没有相似的cft
):
WHERE (`cft` = :cft AND FirstName > :firstname) OR (`cft` > :cft)
ORDER BY `cft` ASC, `FirstName` ASC
LIMIT 1
其中:cft
和:firstname
是PersonID = 1020
行所对应的值。
上一行的条件非常类似于我所展示的那个,我相信你可以自己拿到它(把它作为家庭作业)