Как получить конкретное предыдущее событие Postgres
Все у меня есть следующие типы строк данных в моей БД
- Пользователь 1 берет обновление программного обеспечения 1
- Пользователь 1 выполняет некоторые действия с продуктом
- Пользователь 1 выполняет некоторые действия с продуктом
- Пользователь 1 выполняет некоторые действия с продуктом
- Пользователь 1 берет обновление программного обеспечения 2
- Пользователь 1 выполняет некоторые действия с продуктом
- Пользователь 1 выполняет некоторые действия с продуктом <- что является предшествующим обновлением программного обеспечения до этого события
Ранее я использовал функции Lead и Lag для Windows, поэтому знаю, как получить стандартное предыдущее событие записи. Однако здесь я хочу получить очень конкретное предшествующее событие, которое произошло до рассматриваемого события (т. Е. Последнее обновление программного обеспечения, выполненное пользователем). Есть ли способ сделать это, используя Lead/Lag или альтернативный способ без необходимости самостоятельно присоединяться к столу?
Другие данные, которые я должен передать, - это идентификатор пользователя, дата / время возникновения события, тип действия (обновление программного обеспечения, вход в систему, покупка, продажа и т. Д.).
Если требуется больше деталей, дайте мне знать.
Спасибо Саймон