У меня есть эта таблица -
----------------------------------------------
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
Я пытаюсь найти разницу во времени между типом 3 и типом 9 для каждой пары типов в каждом событии, для каждого пользователя.
Вывод будет -
----------------------------------------------
ID | user | eventID | timeDifference in sec
----------------------------------------------
1 | 1 | 1 | 30
2 | 3 | 1 | 60
3 | 3 | 2 | 60
4 | 3 | 2 | 40
Как видите, у каждого пользователя может быть несколько событий, и разные пользователи также могут иметь одно и то же событие.Некоторые пользователи и события имеют оба типа, а некоторые нет.Может быть несколько событий типа 3 и типа 9, но я хочу разницу между всеми парами, которые находятся ближе всего друг к другу.(Для каждого события типа 9 разница между этим событием и событием типа 3, которое происходило до этого).Для каждого вхождения события типа 9 перед этим будет событие типа 3.У меня также есть отдельный столбец с другим идентификатором для событий типа 9, если это полезно.Я использую MYSQL 5.7.23.
Как мне это сделать?