首页 > 数据库 >MySQL去重保留最大的那条记录(取最新的记录)

MySQL去重保留最大的那条记录(取最新的记录)

时间:2023-11-09 21:11:19浏览次数:41  
标签:INSERT log 记录 -- 那条 2019 MySQL VALUES login

-- 以用户登录日志表为例,取用户最近登录的设备   SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;    -- ----------------------------  -- Table structure for t_login_log  -- ----------------------------  DROP TABLE IF EXISTS `t_login_log`;  CREATE TABLE `t_login_log` (    `id` INT(11) NOT NULL AUTO_INCREMENT,    `user_id` INT(11) NOT NULL COMMENT '用户ID',    `device_name` VARCHAR(32) COLLATE utf8mb4_bin NOT NULL COMMENT '登录设备',    `login_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '登录时间',    PRIMARY KEY (`id`)  ) ENGINE=INNODB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;    -- ----------------------------  -- Records of t_login_log  -- ----------------------------  BEGIN;  INSERT INTO `t_login_log` VALUES (1, 1121, 'iPhone 6s', '2019-07-01 19:20:25');  INSERT INTO `t_login_log` VALUES (2, 2120, 'vivo x20', '2019-06-28 16:21:11');  INSERT INTO `t_login_log` VALUES (3, 1607, 'huawei P30', '2019-07-04 19:21:59');  INSERT INTO `t_login_log` VALUES (4, 2120, 'vivo x20', '2019-06-30 19:22:34');  INSERT INTO `t_login_log` VALUES (5, 2120, 'vivo x20', '2019-07-04 19:23:07');  INSERT INTO `t_login_log` VALUES (6, 1121, 'iPad mini', '2019-07-03 19:23:25');  INSERT INTO `t_login_log` VALUES (7, 1607, 'iPhone 8 Plus', '2019-06-30 19:24:06');  INSERT INTO `t_login_log` VALUES (8, 1970, 'MI8', '2019-07-03 19:25:00');  COMMIT;    SET FOREIGN_KEY_CHECKS = 1;    -- 自连接,取最新的记录 SELECT * FROM t_login_log ORDER BY user_id;   SELECT    t1.*   FROM t_login_log t1   LEFT JOIN t_login_log t2 ON t1.user_id = t2.user_id AND t1.login_time < t2.login_time   WHERE t2.id IS NULL; 

标签:INSERT,log,记录,--,那条,2019,MySQL,VALUES,login
From: https://www.cnblogs.com/leon1128/p/17822851.html

相关文章

  • mysql常用函数详解
    1.Mysql内置函数分类及使用范围数学函数:这类函数只要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数、获取随机数函数等。字符串函数:这类函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母变成小写或大写字母的函数、获取子串的......
  • MySQL中ORDER BY与LIMIT一起使用(有坑)
     1. 现象与问题ORDERBY排序后,用LIMIT取前几条,发现返回的结果集的顺序与预期的不一样下面是我遇到的问题:可以看到,带LIMIT与不带LIMIT的结果与我预期的不一样,而且“很不可思议”,真是百思不得其解后来百度了一下,如果orderby的列有相同的值时,mysql会随机选取这些行,为了保......
  • 每日水题记录(洛谷)
    每日水题记录(洛谷)只记录红橙题,因为\(\ge\)橙不算很水的题。\(2023.11.9\)P1012[NOIP1998提高组]拼数\(75\)分代码直接把每个数字用字符串输入,然后按字典序排序。原因:不能直接按字典序排序,寄。#include<iostream>#include<algorithm>#include<cmath>#include<c......
  • MySQL千万级数据库查询怎么提高查询效率
     查询效率慢的原因: 1:没有加索引或者索引失效  where条件使用如下语句会索引失效:null、!=、<>、or连接、in(非要使用,可用关键字exist替代)和notin、'%abc%';  使用参数:num=@num、表达式操作:wherenum/2=100、函数操作:wheresubstring(name,1,3)=‘abc’-name;   --e......
  • MySQL学习(14)redo日志
    前言InnoDB存储引擎以页为单位从磁盘中加载到内存中,进行数据的管理。我们进行增删改查操作本质上是访问页面,其中包括读页面、写页面、创建新页面等操作。在访问页面之前,需要将页从磁盘中加载到BufferPool中才可以访问。在BufferPool中修改了数据后,会加入到flush链表中,但是flush......
  • 记录--vue3 setup 中国省市区三级联动options最简洁写法,无需任何库
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助在写页面的时候,发现表单里面有一个省市区的options组件要写,因为表单很多地方都会用到这个地址选择,我便以为很简单嘛。虽然很简单的一个功能,但是网络上能搜索到的教程大多都是需要配合elementUI等各种UI库的......
  • mysql字符串拼接的4种方式总结
    前言第一种:第二种:第三种:第四种(运算,只对数字有效):附:MySQLgroup_concat()详解总结 前言总是记不住字符串拼接,每次都要百度去搜索,所以在这里记录一下,好方便后续的查找,如有错误和问题可以提出,谢谢。字符串拼接分为几种方式,在这里会一一举例写出:第一种:mysql自带语法C......
  • Docker安装并使用Mysql(可用详细)
    Docker安装并使用Mysql目录  一、Docker安装Mysql    1、启动Docker    2、查询mysql    3、安装mysql      1.默认拉取最新版本mysql      2.拉取指定版本mysql_5.7    4、查看镜像    5、本地创建挂载目录-......
  • win版本 mysql5.7 解压安装流程
    win版本mysql5.7解压安装流程https://dev.mysql.com/downloads/mysql/5.7.html#downloads1、添加系统变量变量名:MYSQL_HOME变量值:D:\ProgramData\mysql-5.7.44-winx642、编辑my.inimy.ini[mysqld]basedir=D:\ProgramData\mysql-5.7.44-winx64datadir=D:\ProgramData\mysql-5.7.......
  • 获取21-30条记录
    sqlserver版                                       select*fromVersionMenuorderbyid           --获取21-30条记录                  --1:          selectTo......