以使用者登入日誌表為例,取使用者最近登入的裝置
1 set names utf8mb4;
2 set foreign_key_checks = 0;
3 4 -- ----------------------------
5 -- table structure for t_login_log
6 -- ----------------------------
7 drop table if exists `t_login_log`;
8 create table `t_login_log` (
9 `id` int(11) not null auto_increment,
10 `user_id` int(11) not null comment '使用者id',
11 `device_name` varchar(32) collate utf8mb4_bin not null comment '登入裝置',
12 `login_time` datetime not null default current_timestamp on update current_timestamp comment '登入時間',
13 primary key (`id`)
14 ) engine=innodb auto_increment=9 default charset=utf8mb4 collate=utf8mb4_bin;
15 16 -- ----------------------------
17 -- records of t_login_log
18 -- ----------------------------
19 begin;
20 insert into `t_login_log` values (1, 1121, 'iphone 6s', '2019-07-01 19:20:25');
21 insert into `t_login_log` values (2, 2120, 'vivo x20', '2019-06-28 16:21:11');
22 insert into `t_login_log` values (3, 1607, 'huawei p30', '2019-07-04 19:21:59');
23 insert into `t_login_log` values (4, 2120, 'vivo x20', '2019-06-30 19:22:34');
24 insert into `t_login_log` values (5, 2120, 'vivo x20', '2019-07-04 19:23:07');
25 insert into `t_login_log` values (6, 1121, 'ipad mini', '2019-07-03 19:23:25');
26 insert into `t_login_log` values (7, 1607, 'iphone 8 plus', '2019-06-30 19:24:06');
27 insert into `t_login_log` values (8, 1970, 'mi8', '2019-07-03 19:25:00');
28 commit;
29 30 set foreign_key_checks = 1;
自連線,取最新的記錄
1 select * from t_login_log order by user_id;
2 3 select
4 t1.*
5 from t_login_log t1
6 left join t_login_log t2 on t1.user_id = t2.user_id and t1.login_time < t2.login_time
7 where t2.id is null;
效果
阿里雲k8s實戰手冊 [阿里雲cdn排坑指南]cdn
ecs運維指南
devops實踐手冊
hadoop大資料實戰手冊
knative雲原生應用開發指南
oss 運維實戰手冊
雲原生架構***
zabbix企業級分布式監控系統原始碼文件
10g大廠面試題戳領
MYSQL 如何查詢 修改最大日期的那條記錄
參考資料 更新資料 update product info as t inner join select product id,max update date update date from product info where product id 830group byproduct id t...
mysql中的去重
關於 distinct 關鍵字 select distinct uid,name from zzzz 其真正的意思是去掉重複的記錄,先select uid,name from zzzz 然後過濾掉重覆記錄,保留第一條記錄。所以,dinstinct的結果取決於你查詢的字段,它並不是過濾掉某個字段。如果...
關於 mysql 查詢重複資料去重並且保留一條資料
比如我的資料如下圖所示,查詢目的是查詢出main重複的,並且保留main分組中score最大的一條資料,也參考了很多答案但是並不理想,後來在技術群裡請教了一位大神 最後的sql貼出來 select id,main,score from select id,score main,if pmain ma...