Спасибо за предоставленную возможность объяснить мою проблему.У меня есть таблица, в которой отражен последний статус всех пациентов, поступивших в больницу.(структура таблицы с образцами данных ниже).Требование состоит в том, чтобы отображался последний статус каждого пациента и время появления последнего статуса.
ID | PatientId | Status | TimeOfStatusChange
----------
1 | 1 | Admitted | 2019-07-01 10:00 AM
----------
2 | 1 | In Triage | 2019-07-01 10:15 AM
----------
3 | 1 | In Triage | 2019-07-01 10:30 AM
----------
4 | 1 | Surgery Scheduled | 2019-07-01 11:00 AM
----------
5 | 1 | In Triage | 2019-07-01 11:30 AM
----------
6 | 1 | Surgery Scheduled | 2019-07-01 12:01 PM
----------
7 | 1 | Surgery Scheduled | 2019-07-01 12:30 PM
----------
Итак, в этом примере пациент поступил в 10 часов утра.его последний статус - «Запланированная операция», а последним изменением этого статуса было «12:01 вечера».Итак, ожидаемый результат:
PatientId | RecentStatus | TimeWhenStatusAppeared
----------
1 | Surgery Scheduled | 2019-07-01 12:01 PM
Получение последнего статуса было довольно простым, и запрос, который помогает:
select PatientId, Status from StatusTest s1 where s1.ID =
( select max(ID) from StatusTest s2 where s1.PatientId = s2.PatientId)
Но теперь проблема заключается в получении последнего изменения этогостатус является проблемой.Любой, кто может помочь, высоко ценится.
Спасибо.