Скажем, у меня есть таблица, в которой я запрашиваю как так:Как найти повторяющиеся последовательные значения в этой таблице?
select date, value from mytable order by date
и это дает мне результаты:
date value
02/26/2009 14:03:39 1
02/26/2009 14:10:52 2 (a)
02/26/2009 14:27:49 2 (b)
02/26/2009 14:34:33 3
02/26/2009 14:48:29 2 (c)
02/26/2009 14:55:17 3
02/26/2009 14:59:28 4
Я заинтересован в строках этого результирующего набора, где значение равно как в предыдущей или следующей строке, например, строка b, имеющая значение = 2, такая же, как строка a. Мне не нужны строки, такие как строка c, которая имеет значение = 2, но не приходит сразу после строки со значением = 2. Как я могу запросить таблицу, чтобы дать мне все строки, такие как a и b? Это касается Oracle, если это имеет значение.
Существуют ли какие-либо другие поля в таблице, например, последовательный первичный ключ? Это облегчило бы! Является ли это таблицей транзакций или может быть удалена запись (т. Е. Выполнять объединения и тесты с идентификатором-id или id + 1)? –
@Kieren да есть первичный ключ, но они раздаются в порядке, несовместимом с полем даты. Я не уверен, что вы собираетесь «присоединяться и тестировать», но да, записи часто удаляются и заменяются. – JenPartridge