サブクエリを使用して、どのポイントで停止する必要があるかを見つけてから、開始ポイントから計算された停止ポイントまでのすべての行を返します。
SELECT
*
FROM
yourTable
WHERE
id >= 4
AND id <= (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4)
これは、最後のレコードが常に「F」であることを前提としていることに注意してください。 COALESCE
を使用して、最後のレコードが「T」であることに対処できます。 。
SELECT
*
FROM
yourTable
WHERE
id >= 4
AND id <= COALESCE(
(SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4),
(SELECT MAX(id) FROM yourTable )
)