У меня есть таблица, в которой хранятся значения, если они появились вместе в последовательности. Например:
value_a | value_b | count
-------------------------
1 | 2 | 5
1 | 3 | 4
2 | 3 | 7
Счетчик хранит количество раз, которое value_b
видели после value_a
Используя это, я могу создать вероятностную последовательность. Например, я могу выбрать любое случайное значение для запуска последовательности - в данном случае 1 - и выбрать значения, которые следовали за ним до:
> SELECT value_b FROM values WHERE value = 1
value_b
-------
2
3
Моя последовательность теперь 1, 2
Что я хотел бы сделать, это добавить дополнительный поиск. Если у меня есть значение - 2 в этом случае - я хочу выбрать любые значения, которые следуют за ним, но только в той последовательности, которая у меня уже есть:
SELECT value_b FROM values WHERE value = 2
AND
* magic line to only include to cases where 2 also followed 1 *
Можно ли это сделать без изменения схемы или я уже потерял нужную мне информацию (как я подозреваю)?
Если мне нужно изменить схему, чтобы добавить дополнительное измерение, можно ли ее структурировать таким образом, чтобы можно было просто оглянуться назад на 3 или более уровней?
Спасибо:)