需要重写SQL语句以提供准确的结果

时间:2014-07-16 07:08:56

标签: mysql sql

我只使用此查询返回一行,并且每个用户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');   

1 个答案:

答案 0 :(得分:1)

max是一个聚合函数,只返回1行 - ,除非group by 使用。

通过max(ul.logins),您只需要一行 - 具有最高logins值的行。将结果按user_id分组,以便为​​每位用户提供最大值。