Мой первый запрос вернет список пользователей и время их последнего входа в систему:
username | last_login
john 2020-04-12 00:01:23
amy 2020-04-10 12:13:42
brad 2020-04-11 11:21:00
max 2020-04-09 03:33:00
Затем я хотел бы найти другую таблицу, в которой есть запись всех входов в систему и их продолжительности, и вернуть самый длинный вход в систему. время для каждого пользователя.
username | login_time | logout_time | duration
john 2020-04-12 00:01:23 2020-04-12 00:10:23 9
amy 2020-04-10 12:13:42 2020-04-10 12:43:42 30
brad 2020-04-11 11:21:00 2020-04-11 12:21:00 60
john 2020-04-10 08:21:00 2020-04-10 08:45:00 24
amy 2020-04-10 07:00:42 2020-04-10 07:03:42 3
max 2020-04-09 03:33:00 2020-04-09 03:40:00 7
Запрос 1:
select username, last_login from t1;
Запрос 2 для получения самой длинной полосы для указанного пользователя c:
select duration from t2 where username='john' and duration=(select max(duration) from t2 where username='john')
В результате я хотел бы получить каждого пользователя, его последний вход в систему и самое продолжительное время входа в систему:
username | last_login | longest_login
john 2020-04-12 00:01:23 24
amy 2020-04-10 12:13:42 30
brad 2020-04-11 11:21:00 60
max 2020-04-09 03:33:00 7
Я не совсем уверен, как выполнить второй запрос, используя каждое имя пользователя, найденное в запросе 1, а затем объединить результат.