题解 | #牛客每个人最近的登录日期(二)#
SELECT
u_name,
c_name,
max( date )
FROM
(
SELECT
user.NAME AS u_name,
user_id,
login.client_id,
client.NAME AS c_name,
date
FROM
login
LEFT JOIN user ON login.user_id = user.id
LEFT JOIN client ON login.client_id = client.id
ORDER BY
date DESC
LIMIT 10000000
) AS tb1
GROUP BY
user_id
ORDER BY
u_name 遇到几次这样的问题了记录一下:group by与max(列名)取最值对应行的数据时,除max字段外,其余字段均为默认的首行数据。应在分组前对其进行排序,且必须加limit进行限制使排序操作生效。(https://blog.csdn.net/liangwenrong/article/details/118307048)

查看13道真题和解析