SQL67 牛客每個人最近的登入日期 二

2022-09-09 21:09:35 字數 1984 閱讀 1497

牛客每天有很多人登入,請你統計一下牛客每個使用者最近登入是哪一天,用的是什麼裝置.

有乙個登入(login)記錄表,簡況如下:

第1行表示user_id為2的使用者在2020-10-12使用了客戶端id為1的裝置登入了牛客網

。。。第4行表示user_id為3的使用者在2020-10-13使用了客戶端id為2的裝置登入了牛客網

還有乙個使用者(user)表,簡況如下:

還有乙個客戶端(client)表,簡況如下:

請你寫出乙個sql語句查詢每個使用者最近一天登入的日子,使用者的名字,以及使用者用的裝置的名字,並且查詢結果按照user的name公升序排序,上面的例子查詢結果如下:

查詢結果表明:

fh最近的登入日期在2020-10-13,而且是使用ios登入的

wangchao最近的登入日期也是2020-10-13,而且是使用ios登入的

drop table if exists login;

drop table if exists user;

drop table if exists client;

create table `login` (

`id` int(4) not null,

`user_id` int(4) not null,

`client_id` int(4) not null,

`date` date not null,

primary key (`id`));

create table `user` (

`id` int(4) not null,

`name` varchar(32) not null,

primary key (`id`));

create table `client` (

`id` int(4) not null,

`name` varchar(32) not null,

primary key (`id`));

insert into login values

(1,2,1,'2020-10-12'),

(2,3,2,'2020-10-12'),

(3,2,2,'2020-10-13'),

(4,3,2,'2020-10-13');

insert into user values

(1,'tm'),

(2,'fh'),

(3,'wangchao');

insert into client values

(1,'pc'),

(2,'ios'),

(3,'anroid'),

(4,'h5');

select user.name as u_n,client.name as c_n,

login.date

from login

join user on login.user_id = user.id

join client on login.client_id = client.id

where (login.user_id,login.date) in

(select user_id,max(date) from login group by login.user_id)

order by user.name

牛客練習賽67 補題 題解

a.牛牛愛字串 題意 給定字串,輸出當中的數字,注意不能有前導零。簡單模擬題,但格式要求非常嚴格,最後乙個數字後不能有空格。還有乙個坑點,如果只有0也是要輸出乙個0的。我是用佇列模擬,去掉前導零。include using namespace std const int n 1e5 10 strin...

牛客sql語句1

分頁查詢employees表,每5行一頁,返回第2頁的資料 create table employees emp no int 11 not null,birth date date not null,first name varchar 14 not null,last name varchar ...

SQL69 牛客每個人最近的登入日期 四

牛客每天有很多人登入,請你統計一下牛客每個日期登入新使用者個數,有乙個登入 login 記錄表,簡況如下 第1行表示user id為2的使用者在2020 10 12使用了客戶端id為1的裝置登入了牛客網,因為是第1次登入,所以是新使用者 第4行表示user id為2的使用者在2020 10 13使用...