使用子查询找出应该在什么位置停止,然后将所有行从起点返回到计算出的终点。
SELECT
*
FROM
yourTable
WHERE
id >= 4
AND id <= (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4)
Run Code Online (Sandbox Code Playgroud)
注意,这假设最后一条记录始终为“ 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 )
)
Run Code Online (Sandbox Code Playgroud)