Оконные функции (добавлены в Sqlite 3.25, поэтому требуется следующая версия или более новая версия) облегчают просмотр следующего ряда:
Создание и заполнение образца таблицы (публикация изображения ваших данных действительно бесполезна; лучше всего использовать текст с инструкциями INSERT или CSV):
CREATE TABLE seq(num INTEGER PRIMARY KEY, value INTEGER);
INSERT INTO seq VALUES (1, 111), (2, 555), (3, 222), (4, 444), (5, 333)
, (6, 111), (7, 555), (8, 222), (9, 111), (10, 333)
, (11, 555), (12, 444), (13, 111), (14, 333), (15, 444);
И запрос:
WITH leads AS (SELECT num, value
, lead(value, 1) OVER (ORDER BY num) AS next1
, lead(value, 2) OVER (ORDER BY num) AS next2
FROM seq)
SELECT CASE WHEN next1 = 222 AND next2 = 444 THEN 'MATCH' ELSE 'FAIL' END AS result
, num AS start
, CASE WHEN next1 = 222 AND next2 = 444 THEN num + 2 ELSE num + 1 END AS "end"
FROM leads
WHERE value = 555
ORDER BY num;
производит
result start end
---------- ---------- ----------
MATCH 2 4
FAIL 7 8
FAIL 11 12
(все вышеперечисленное предполагает, что вы используете столбец num
для определения порядка)