Как группировать повторяющиеся записи?
У меня есть один столбец, который обозначает, является ли запись началом, концом или подробной записью.Подробные записи - это записи, которые существуют после начальной записи и перед конечной записью.
Я хочу сгруппировать эти записи вместе с уникальным идентификатором, чтобы каждый раз, когда есть конечная запись, следующая серия записей получала новыйid группы.
Я пробовал серию самостоятельных объединений, подзапросов и cte без создания пользовательской функции, представления или CTE. Я надеюсь построить это в одном запросе выбора.
Любые советы или указатели очень ценятся.
Пример перед решением:
--------------------------------------------------
| ID | RecordType | SomeValue
--------------------------------------------------
|001 | Start record | some header info
|002 | Detail Record | value
|003 | Detail Record | value
|004 | Detail Record | value
|005 | End Record | some other header info
|006 | Start Record | some header info
|007 | Detail Record | Value
|008 | End Record | some other header info
Что я пытаюсь достичь:
------------------------------------------------------------------
| ID | RecordType | SomeValue | RecordGroup
------------------------------------------------------------------
|001 | Start record | some header info | 001
|002 | Detail Record | value | 001
|003 | Detail Record | value | 001
|004 | Detail Record | value | 001
|005 | End Record | some other header info| 001
|006 | Start Record | some header info | 002
|007 | Detail Record | Value | 002
|008 | End Record | some other header info| 002