У меня есть таблица, которая содержит хронологические события.У них есть тип, время и высота.
Данные могут быть обобщены следующим образом:
ID, Type, Time, Height
1, A, time, 0
2, XX, time, 0
3, B, time, 3
4, B, time, 6
5, C, time, 0
6, XX, time, 0
7, A, time, 0
8, C, time, 0
9, A, time, 0
10, B, time, 2
11, C, time, 0
и т. Д. (Столбец времени отсортирован в порядке возрастания)
iхотел бы найти оператор SQL для перечисления всех типов A / B / C, где B - максимум столбца высоты между типами A и C. Таким образом, результат будет выглядеть следующим образом:
1, A, time, 0
4, B, time, 6
5, C, time, 0
7, A, time, 0
8, C, time, 0
9, A, time, 0
10, B, time, 2
11, C, time, 0
A/ B и C всегда будут в правильном порядке (т. Е. B всегда будет между A и C), но B может вообще не быть, или может быть несколько B между A и C.
выходные данные могут / не могут перечислять событие B с данными NULL, если между A и C. нет B, гарантируется, что будет C после каждого события типа A.
Все события XX должны игнорироваться в выходных данных,Временные метки в списке никогда не будут дублироваться - никакие два события не будут содержать одинаковое время.
Я предполагаю использовать где-нибудь функцию MAX и выбирать все строки B между A и C в зависимости от времени A иC.
TIA