Pomocí dílčího dotazu zjistěte, ve kterém bodě byste měli zastavit, a poté vraťte všechny řádky od počátečního bodu do vypočítaného bodu zastavení.
SELECT
*
FROM
yourTable
WHERE
id >= 4
AND id <= (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4)
Všimněte si, že to předpokládá, že poslední záznam je vždy 'F'. Můžete se vypořádat s tím, že poslední záznam je 'T' pomocí 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 )
)