题目转自牛客网sql 66-71题
目录
题目描述
牛客每天有很多人登录,有一个登录(login)记录表,简况如下(这个表为基础表,后面所有的题都是以这个为基础进行的):
第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备登录了牛客网
。。。
第4行表示user_id为3的用户在2020-10-13使用了客户端id为2的设备登录了牛客网
1.查询用户最近登录时间
请你写出一个sql语句查询每个用户最近一天登录的日子,并且按照user_id升序排序,上面的例子查询结果如下:
select user_id , max(date)
from login
group by user_id
order by user_id
2.统计每个用户最近登录是哪一天,用的是什么设备
有一个用户(user)表,简况如下:
还有一个客户端(client)表,简况如下:
请你写出一个sql语句查询每个用户最近一天登录的日子,用户的名字,以及用户用的设备的名字,并且查询结果按照user的name升序排序。
select u.name ,c.name,l.date
from login l
join (select user_id ,max(date) mdate
from login
group by user_id ) m
on l.user_id=m.user_id
join user u
on l.user_id=u.id
join client c
on l.client_id=c.id
where l.date=m.mdate
order by u.name