繁体   English   中英

如何从每个用户获取loginevent的最新记录?

[英]how to get the latest record of loginevent from each user?

这个问题可能已经问过了,但是我的问题涉及两个单独的表。 我只在使用带有日期行的同一张表时才看到答案。 我有两个表,一个是用户表,另一个是login_log表。 我想从最新的日期记录和每个用户那里获取事件。 我已经进行了sql查询,但是无法理解如何从单独的用户中选择max(date)。

SELECT s.username_id,s.date,s.event,m.username
FROM sys_log s join
     users m
     on s.username_id = m.id

id, username
---------
1 test
2 test2

id, username_id,    date,           event
------------------------------------------
1       1     1/1/2017 22:10:11     logout
2       1    1/1/2017  22:09:11     login
3       2      1/1/2017 21:05:11    logout
4       2     1/1/2017 21:02:11     login

输出应该是这样的

id, username, event ,date
-------------------------
1    test     logout  xxx
2    test2    logout  xxx

这是您想要的吗?

select s.username_id, s.date, s.event, m.username
from sys_log s join
     users m
     on s.sys_auth_id = m.id
where s.date = (select max(s2.date) from sys_log s2 where s2.sys_auth_id = s.sys_auth_id);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM