У меня есть эта таблица -
----------------------------------------------
ID | user | eventID | type | timestamp
----------------------------------------------
1 | 1 | 1 | 3 | 2019-02-08 15:30:00
2 | 1 | 1 | 3 | 2019-02-08 15:31:00
3 | 1 | 1 | 9 | 2019-02-08 15:31:30
4 | 2 | 1 | 3 | 2019-02-08 15:32:00
5 | 2 | 1 | 3 | 2019-02-08 15:32:45
6 | 3 | 1 | 3 | 2019-02-08 15:33:00
7 | 3 | 1 | 9 | 2019-02-08 15:34:00
8 | 3 | 2 | 3 | 2019-02-08 15:35:00
9 | 3 | 2 | 9 | 2019-02-08 15:36:00
Я пытаюсь найти разницу во времени между типом 3 и типом 9 для каждого события, для каждого пользователя.
Например,вывод для этой таблицы будет -
----------------------------------------------
ID | user | eventID | timeDifference in sec
----------------------------------------------
1 | 1 | 1 | 30
2 | 3 | 1 | 60
3 | 3 | 2 | 60
. Как видите, у каждого пользователя может быть несколько событий, и разные пользователи также могут иметь одно и то же событие.Некоторые пользователи и события имеют оба типа, а некоторые нет.Может быть несколько событий типа 3 и типа 9, но я хочу, чтобы разница между ними была ближе всего друг к другу.И тип 9 всегда происходит после типа 3. У меня также есть отдельный столбец с другим идентификатором для событий типа 9, если это полезно.Поэтому я пытаюсь найти разницу во времени между этими двумя типами для каждого события, для каждого пользователя.
Как мне это сделать?
Изменить - я забыл упомянуть, что тамможет быть несколько пар событий типа 3 и 9 для каждого события, для каждого пользователя.Так что я хочу, чтобы разница всех этих пар, которые находятся рядом друг с другом, а не только одно различие на группу по.
Для этой таблицы -
----------------------------------------------
ID | user | eventID | type | timestamp
----------------------------------------------
1 | 1 | 1 | 3 | 2019-02-08 15:30:00
2 | 1 | 1 | 3 | 2019-02-08 15:31:00
3 | 1 | 1 | 9 | 2019-02-08 15:31:30
4 | 2 | 1 | 3 | 2019-02-08 15:32:00
5 | 2 | 1 | 3 | 2019-02-08 15:32:45
6 | 3 | 1 | 3 | 2019-02-08 15:33:00
7 | 3 | 1 | 9 | 2019-02-08 15:34:00
8 | 3 | 2 | 3 | 2019-02-08 15:35:00
9 | 3 | 2 | 9 | 2019-02-08 15:36:00
10 | 3 | 2 | 3 | 2019-02-08 15:37:00
11 | 3 | 2 | 9 | 2019-02-08 15:37:40
Выход будет -
----------------------------------------------
ID | user | eventID | timeDifference in sec
----------------------------------------------
1 | 1 | 1 | 30
2 | 3 | 1 | 60
3 | 3 | 2 | 60
4 | 3 | 2 | 40
edit - я задал вопрос о разнице с моей правкой.На оригинальный вопрос здесь уже дан ответ.