Utilisez une sous-requête pour savoir à quel point vous devez vous arrêter, puis renvoyez toutes les lignes depuis votre point de départ jusqu'au point d'arrêt calculé.
SELECT
*
FROM
yourTable
WHERE
id >= 4
AND id <= (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4)
Notez que cela suppose que le dernier enregistrement est toujours un 'F'. Vous pouvez traiter le dernier enregistrement comme étant un 'T' en utilisant un 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 )
)