我的第一个查询将返回用户及其上次登录时间的列表:
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以获取特定用户的最长连胜记录:
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中找到的每个用户名执行第二次查询,然后将结果合并。
答案 0 :(得分:1)
您可以for i in lst:
s += int(i)
进行汇总:
join