题解 | #牛客每个人最近的登录日期(二)#
牛客每个人最近的登录日期(二)
https://www.nowcoder.com/practice/7cc3c814329546e89e71bb45c805c9ad
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
)
ORDER BY u_n;
1、找到用户id及其对应的最大日期
WHERE (l.user_id, l.date) IN (
SELECT user_id,MAX(date)
FROM login
GROUP BY user_id
)
2、联合三张表
FROM
login l
JOIN user u ON l.user_id = u.id
JOIN client c ON l.client_id = c.id
3、按用户id(姓名)进行groupby输出
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
)
ORDER BY u_n;
