Как получить конкретное предыдущее событие Postgres

Все у меня есть следующие типы строк данных в моей БД

  • Пользователь 1 берет обновление программного обеспечения 1
  • Пользователь 1 выполняет некоторые действия с продуктом
  • Пользователь 1 выполняет некоторые действия с продуктом
  • Пользователь 1 выполняет некоторые действия с продуктом
  • Пользователь 1 берет обновление программного обеспечения 2
  • Пользователь 1 выполняет некоторые действия с продуктом
  • Пользователь 1 выполняет некоторые действия с продуктом <- что является предшествующим обновлением программного обеспечения до этого события

Ранее я использовал функции Lead и Lag для Windows, поэтому знаю, как получить стандартное предыдущее событие записи. Однако здесь я хочу получить очень конкретное предшествующее событие, которое произошло до рассматриваемого события (т. Е. Последнее обновление программного обеспечения, выполненное пользователем). Есть ли способ сделать это, используя Lead/Lag или альтернативный способ без необходимости самостоятельно присоединяться к столу?

Другие данные, которые я должен передать, - это идентификатор пользователя, дата / время возникновения события, тип действия (обновление программного обеспечения, вход в систему, покупка, продажа и т. Д.).

Если требуется больше деталей, дайте мне знать.

Спасибо Саймон

0 ответов

Другие вопросы по тегам