从每个组中获取最近的项目

时间:2017-09-20 19:37:07

标签: mysql database database-design greatest-n-per-group

在MySQL查询中,我想查询最近登录1用户的列表 每种用户类型的信息。

表信息: user表包含列:user_id,usertype_id,last_login_date usertype表有列:usertype_id,user_id

我试过了,

SELECT MAX(u.last_login_date), u.user_id FROM `user` u
JOIN usertype ut ON u.usertye_id = ut.usertype_id
GROUP BY ut.usertype_id;

但上述查询会返回' last_login_date'与user_id无关。 任何想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

select  *
from    (select  u.last_login_date, u.user_id 
         from    user u
         order by u.last_login_date desc) x
group by last_login_date

使用此解决方案,您可以避免尝试查找max()等的复杂子查询,以及当多个行具有相同的最大值时返回多行的问题