我只使用此查询返回一行,并且每个用户ID应该有一行结果:每次用户登录时ul.logins都会记录一个日期戳,因此有多个条目,但我只是试图获得“最近的时间”,因此是最大的功能。
select u.user_id "User ID", ifnull(max(ul.logins),'Never logged in') "Last Login"
from users u
join user_logins ul on u.id = ul.user_id
where u.user_id in ('leonarddicaprio','tomhanks','tomcruise','juliaroberts');
答案 0 :(得分:1)
max
是一个聚合函数,只返回1行 - ,除非group by
使用。
通过max(ul.logins)
,您只需要一行 - 具有最高logins
值的行。将结果按user_id
分组,以便为每位用户提供最大值。