簡単な質問ですが、簡単な解決策が見つからないようです。
以下のデータを前提として、現在のステップ番号に基づいて前のステップと次のステップの両方で一意のHEXIDを取得する最も効率的な方法は何ですか。
---- + ------------- + ----------------
ID | UnqID | STEPNUM |
---- + ------------- + ----------------
21 | BcDeF | 1 |
22 | GhIjKL | 2 |
23 | MnOPq | 3 |
24 | RsTuV | 4 |
25 | wXyZa | 5 |
---- + ------------- + ----------------
例:
提供されたステップがであると仮定すると、と3
の両方の一意のHEX IDを取得するにはどうすればよいですか?2
4
ありがとう!
編集
これは私が現在使用しているものですが、私にはそれほど効率的ではないようです??
SELECT
nxt.stepnum AS NextStep,
nxt.unqID AS NextUnqID,
prv.stepnum AS PrevStep,
prv.unqID AS PrevUnqID
FROM foo w,
(
SELECT stepnum, unqID FROM foo WHERE stepnum > 3 ORDER BY stepnum LIMIT 1
) AS nxt
,
(
SELECT stepnum, unqID FROM foo WHERE stepnum < 3 AND ORDER BY stepnum DESC LIMIT 1
) AS prv
WHERE w.stepnum = 3