Използвайте подзаявка, за да разберете в коя точка трябва да спрете, след което върнете целия ред от вашата начална точка до изчислената точка на спиране.
SELECT
*
FROM
yourTable
WHERE
id >= 4
AND id <= (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4)
Забележете, това предполага, че последният запис винаги е "F". Можете да се справите с това, че последният запис е "T", като използвате COALESCE
.
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 )
)