Mysql应用获取MySQL的表中每个userid最后一条记录的方法
发布时间:2020-12-12 00:54:01 所属栏目:MySql教程 来源:网络整理
导读:《Mysql应用获取MySQL的表中每个userid最后一条记录的方法》要点: 本文介绍了Mysql应用获取MySQL的表中每个userid最后一条记录的方法,希望对您有用。如果有疑问,可以联系我们。 如下表: MYSQL学习 CREATE TABLE `t1` (`userid` int(11) DEFAULT NULL,`at
《Mysql应用获取MySQL的表中每个userid最后一条记录的方法》要点: 如下表: CREATE TABLE `t1` ( `userid` int(11) DEFAULT NULL,`atime` datetime DEFAULT NULL,KEY `idx_userid` (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `t1` ( `userid` int(11) DEFAULT NULL,KEY `idx_userid` (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 数据如下: MySQL> select * from t1; +--------+---------------------+ | userid | atime | +--------+---------------------+ | 1 | 2013-08-12 11:05:25 | | 2 | 2013-08-12 11:05:29 | | 3 | 2013-08-12 11:05:32 | | 5 | 2013-08-12 11:05:34 | | 1 | 2013-08-12 11:05:40 | | 2 | 2013-08-12 11:05:43 | | 3 | 2013-08-12 11:05:48 | | 5 | 2013-08-12 11:06:03 | +--------+---------------------+ 8 rows in set (0.00 sec) MySQL> select * from t1; +--------+---------------------+ | userid | atime | +--------+---------------------+ | 1 | 2013-08-12 11:05:25 | | 2 | 2013-08-12 11:05:29 | | 3 | 2013-08-12 11:05:32 | | 5 | 2013-08-12 11:05:34 | | 1 | 2013-08-12 11:05:40 | | 2 | 2013-08-12 11:05:43 | | 3 | 2013-08-12 11:05:48 | | 5 | 2013-08-12 11:06:03 | +--------+---------------------+ 8 rows in set (0.00 sec) 其中userid不唯一,要求取表中每个userid对应的时间离现在最近的一条记录.初看到一个这条件一般都会想到借用临时表及添加主建借助于join操作之类的. MySQL> select userid,substring_index(group_concat(atime order by atime desc),",1) as atime from t1 group by userid; +--------+---------------------+ | userid | atime | +--------+---------------------+ | 1 | 2013-08-12 11:05:40 | | 2 | 2013-08-12 11:05:43 | | 3 | 2013-08-12 11:05:48 | | 5 | 2013-08-12 11:06:03 | +--------+---------------------+ 4 rows in set (0.03 sec) MySQL> select userid,1) as atime from t1 group by userid; +--------+---------------------+ | userid | atime | +--------+---------------------+ | 1 | 2013-08-12 11:05:40 | | 2 | 2013-08-12 11:05:43 | | 3 | 2013-08-12 11:05:48 | | 5 | 2013-08-12 11:06:03 | +--------+---------------------+ 4 rows in set (0.03 sec) Good luck! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- OSC 内部员工在网站上的活跃统计(考核)
- MYSQL数据库MySQL出现SQL Error (2013)连接错误的解决方法
- Mysql入门mysql数据库安装教程(rpm方式)
- sql – 如何将具有相同字段的两个表的结果连接到一个字段中
- php – 从master数据库获取数据库凭据,然后连接到不同的数
- 如何使用Java ResultSet和PreparedStatement访问mySQL枚举字
- Mysql必读mysql数据库迁移至Oracle数据库
- Mysql学习MySQL嵌套事务所遇到的问题
- ubuntu mysql启动/停止/重启命令
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据的SQL