SQL260. 牛客每个人最近的登录日期(一)
描述
牛客每天有很多人登录,请你统计一下牛客每个用户最近登录是哪一天。id | user_id | client_id | date |
1 2 3 4 | 2 3 2 3 | 1 2 2 2 | 2020-10-12 2020-10-12 2020-10-13 2020-10-13 |
user_id | id |
2 3 | 2020-10-13 2020-10-13 |
示例1
输入:
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');
输出:
2|2020-10-13 3|2020-10-13
Sqlite 解法, 执行用时: 10ms, 内存消耗: 3368KB, 提交时间: 2021-09-11
select user_id,max(date) d from login group by user_id
Sqlite 解法, 执行用时: 10ms, 内存消耗: 3448KB, 提交时间: 2021-12-19
select user_id,max(date) from login group by user_id order by user_id;
Sqlite 解法, 执行用时: 10ms, 内存消耗: 3460KB, 提交时间: 2021-07-22
select user_id,MAX(date) from login group by user_id
Sqlite 解法, 执行用时: 10ms, 内存消耗: 3464KB, 提交时间: 2021-09-15
select user_id,max(date) from login group by user_id order by user_id
Sqlite 解法, 执行用时: 10ms, 内存消耗: 3480KB, 提交时间: 2021-09-07
select user_id,max(date)as d from login group by user_id