我有以下SQL:
SELECT `PersonID`, `Title`.`Title`, `FirstName`, `LastName`
FROM `Person`
ORDER BY `cft` ASC, `FirstName` ASC
现在的问题是因为结果不是数字,如果将
PersonID
设置为1020,是否可以获取前后行? 最佳答案
这是下一行的条件(假设每个FirstName
没有相似的cft
):
WHERE (`cft` = :cft AND FirstName > :firstname) OR (`cft` > :cft)
ORDER BY `cft` ASC, `FirstName` ASC
LIMIT 1
其中,
:cft
和:firstname
是带有PersonID = 1020
的行中的对应值。上一行的条件与我所显示的条件非常相似,我敢肯定您可以自己搞定(作为家庭作业进行处理)