题解 | #牛客每个人最近的登录日期(二)#
牛客每个人最近的登录日期(二)
https://www.nowcoder.com/practice/7cc3c814329546e89e71bb45c805c9ad
这题单单用groupby 是做不出来的,因为中间有一列client_name,在用user-name 分组时,client_name肯定是实现不了去重的,所以只能先拼接,然后用where条件去筛选最新日期。
where(c1,c2)in(select c1,c2 from table)
SELECT u.name AS u_n,c.name AS c_n,l.date
FROM login l JOIN user u ON l.user_id=u.id
JOIN client c ON l.client_id=c.id
WHERE (l.`user_id`,l.date)IN(SELECT user_id,MAX(DATE) FROM login GROUP BY user_id);
FROM login l JOIN user u ON l.user_id=u.id
JOIN client c ON l.client_id=c.id
WHERE (l.`user_id`,l.date)IN(SELECT user_id,MAX(DATE) FROM login GROUP BY user_id);
