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

2022-09-09 21:09:34 字數 1387 閱讀 6966

牛客每天有很多人登入,請你統計一下牛客每個日期登入新使用者個數,

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

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

。。。第4行表示user_id為2的使用者在2020-10-13使用了客戶端id為2的裝置登入了牛客網,因為是第2次登入,所以是老使用者

。。最後1行表示user_id為4的使用者在2020-10-15使用了客戶端id為1的裝置登入了牛客網,因為是第2次登入,所以是老使用者

請你寫出乙個sql語句查詢每個日期登入新使用者個數,並且查詢結果按照日期公升序排序,上面的例子查詢結果如下:

查詢結果表明:

2020-10-12,有3個新使用者(user_id為2,3,1)登入

2020-10-13,沒有新使用者登入

2020-10-14,有1個新使用者(user_id為4)登入

2020-10-15,沒有新使用者登入

drop table if exists login;

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`));

insert into login values

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

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

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

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

(5,1,2,'2020-10-13'),

(6,3,1,'2020-10-14'),

(7,4,1,'2020-10-14'),

(8,4,1,'2020-10-15');

select distinct date,

sum(case when

(user_id,date) in

(select user_id,min(date) from login

group by user_id)

then 1 else 0 end ) as new

from login

牛客練習賽 69

第一次打牛客直接。y1s1牛客的評測系統真的慢,搞得我不想交 題目鏈結 首先先對陣列a逆序貪心可得val i,j a1 a2 ai j val i,j a 1 a 2 dots a val i,j a 1 a 2 ai j 嘗試證明 分析可知我們最終會選擇i j i ji j個陣列a的數,貪心肯定每...

牛客練習賽69 B

題意 給定n nn個數,乙個x xx表示可以劃分成最多x xx個串,乙個y yy表示在乙個串中最多選擇y yy個數。最後求 i 1x j 1yv al i j sum x sum yval i,j i 1x j 1 y va l i,j v al i,j val i,j val i,j 為 將n n...

牛客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 ...