私は次のSQLを持っています:
SELECT `PersonID`, `Title`.`Title`, `FirstName`, `LastName`
FROM `Person`
ORDER BY `cft` ASC, `FirstName` ASC
問題は、結果が数値ではないためです.1020と設定した場合、前後の行を取得する方法はありますPersonID
か?
私は次のSQLを持っています:
SELECT `PersonID`, `Title`.`Title`, `FirstName`, `LastName`
FROM `Person`
ORDER BY `cft` ASC, `FirstName` ASC
問題は、結果が数値ではないためです.1020と設定した場合、前後の行を取得する方法はありますPersonID
か?
FirstName
次の行の条件は次のとおりです (それぞれに類似のものはないと仮定しますcft
)。
WHERE (`cft` = :cft AND FirstName > :firstname) OR (`cft` > :cft)
ORDER BY `cft` ASC, `FirstName` ASC
LIMIT 1
ここで:cft
と:firstname
は の行からの対応する値ですPersonID = 1020
。
前の行の状態は、私が示したものとかなり似ており、自分で入手できると確信しています (宿題として扱ってください)。