SQL время между общением - PullRequest
0 голосов
/ 06 апреля 2020

привет, ребята, надеюсь, вы все в безопасности,

У меня есть таблица в SQL с метками времени, и я хотел бы рассчитать время между двумя сообщениями после того, как я закажу их DE C

Я посмотрел везде, но, к сожалению, безуспешно :( Желаемый результат должен быть таким же, как желтые столбцы

Заранее спасибо!

enter image description here

1 Ответ

1 голос
/ 06 апреля 2020

Вы можете получить разницу, используя lag():

select t.*,
       (timestamp - lag(timestamp, 1, timestamp) over (order by timestamp)) diff_interval
from t;

Я не знаю, является ли преобразование интервала в минуты важной частью вашего вопроса.

Если второй - Достаточная точность, вы можете использовать:

select t.*,
       (timestamp - lag(timestamp, 1, timestamp) over (order by timestamp)),
       extract(epoch from (timestamp - lag(timestamp, 1, timestamp) over (order by timestamp))) / 60.0 as minutes
from t;
...