У меня есть два набора:
SET 1 (данные образца):
actionid | actiontime
---------+---------------------
123 | 2018-10-02 00:01:00
456 | 2018-10-02 00:10:00
SET 2 (данные образца):
actionid | actionsteps | actionsteptime | outputnumber
---------+-------------+---------------------+---------------
123 | step a | 2018-10-02 00:02:00 | 1
123 | step b | 2018-10-02 00:03:00 | NULL
123 | step a | 2018-10-02 00:04:00 | 2
123 | step c | 2018-10-02 00:05:00 | NULL
123 | step a | 2018-10-02 00:06:00 | 1
456 | step a | 2018-10-02 00:11:00 | 4
456 | step a | 2018-10-02 00:12:00 | 5
456 | step b | 2018-10-02 00:13:00 | NULL
456 | step a | 2018-10-02 00:12:00 | 7
Возможные значения дляшаги в SET 2 - это «шаг a», «шаг b» или «шаг c».
Только «шаг a» в SET 2 будет иметь выходной номер.
Мне нужно вычислить иSUM и COUNT выходного номера для каждого actionid, но условие только для значений «шага a», у которого время действия меньше, чем первое время действия «шага b» (что означает, что в SET 2 есть какой-либо «шаг b» для actionidзатем проигнорируйте это и любые действия после этого при вычислении СУММЫ И СЧЕТА).Если для actionid нет «шага b», то это означает, что это обычная сумма и счет.Строки с «шагом c» не влияют на вычисление SUM & COUNT.
Таким образом, ожидаемый результат в этом случае составляет
actionid | count| sum
---------+---------------------
123 | 1 | 1
456 | 2 | 9
Я почесываю голову справа от функции JOIN & Analyticиспользовать.Есть указатели?