У меня есть следующие таблицы «UserState»:Как найти следующую дату PostgreSQL
_id___|_ctime____________________________|_state__________|_userid
1 | 2014-06-09 05:57:07.033334+00 | Ready | 1
2 | 2014-06-09 05:53:35.243864+00 | Busy | 1
3 | 2014-06-09 05:51:39.412722+00 | Ready | 1
4 | 2014-06-09 05:48:48.09651+00 | logged out | 1
* CTime означает время получения нового статуса пользователя. Эта таблица означает, что у меня есть только начальное время состояния, но не знаю до конца. Конечное время состояния - это время начала другого.
И мне нужен запрос SQL, который будет предоставлять мне следующие данные для каждого состояния:
идента | состояние | ctime | конечное время с учетом конечного времени в качестве времени начала (ctime) следующего состояния
Невозможно добавить новые столбцы в таблицу «UserState». Но возможно, что пользователь с (id = 1) может иметь состояние «Готов» после того же состояния «Готов», такие состояния должны быть сгруппированы в 1 строку.
Когда пользователь с идентификатором # 1 группируется, что 'ctime'? Первый или последний? Это происходит только с # 1? –