指定された値を持つ行の前に2つの行IDを取得したい。
だから私はテーブルにIDと値を持っています
ID value
1, x
3, x
7, x
8, error
9, x
10. x
11, x
12 error
エラーの前に2行が必要です。
ハードコーディングされたエラー行 ID でこれを行うことができます
SELECT id FROM thetable WHERE id < 8 ORDER BY ID DESC LIMIT 2
UNION ALL
SELECT id FROM thetable WHERE id < 12 ORDER BY ID DESC LIMIT 2
ただし、エラー ID をハードコードすることはできません。たとえば、これを組み合わせSELECT id FROM thetable WHERE value = 'error'
たり、他の方法でこれを行うにはどうすればよいですか?
私はsqlite 3を使用していますが、すべてに興味があります。