MySQL8数据库中如何查询分组后每组中的最新一条记录
说明
mysql8 以上可以使用row_number()窗口函数,避免使用max求出最新时间后拿时间二次关联自身表
建表语句
-- test.sbuser definitionCREATE TABLE `sbuser` (`group` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,`user_name` varchar(100) DEFAULT NULL,`create_time` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;INSERT INTO test.sbuser
(`group`, user_name, create_time)
VALUES('小组A', '啊啊啊', '2022-01-01 00:00:00');
INSERT INTO test.sbuser
(`group`, user_name, create_time)
VALUES('小组A', '表版本', '2022-01-02 00:00:00');
INSERT INTO test.sbuser
(`group`, user_name, create_time)
VALUES('小组A', '擦擦擦', '2022-01-03 00:00:00');
INSERT INTO test.sbuser
(`group`, user_name, create_time)
VALUES('小组B', '单独的', '2022-01-02 00:00:00');
INSERT INTO test.sbuser
(`group`, user_name, create_time)
VALUES('小组B', '嗯嗯嗯', '2022-01-04 00:00:00');
查询sql
select
tmp.`group`,
tmp.user_name,
tmp.create_time
from (
-- 按照group
select *,ROW_NUMBER() over(PARTITION by `group` order by create_time desc) r from sbuser
)tmp
where tmp.r=1
MySQL8数据库中如何查询分组后每组中的最新一条记录相关推荐
- MySQL数据库中如何查询分组后每组中的最后一条记录
MySQL数据库中如何查询分组后每组中的最后一条记录 方法一 select * from messages where id in (select max(id)fom messages group ...
- MySQL数据库中如何查询分组后每组中的最后一条记录?
问题描述 比如,在MySQL数据库中,有数据表messages和数据记录,如下: Id Name Other_Columns ------------------------- 1 A A_data_ ...
- mysql 组内分组_[MySQL] group by 分组并进行组内排序取得最新一条
有一个需求是获取指定用户发送的最新的内容,这个时候需要使用group by分组功能 但是怎么获取最新的呢 ? 如果直接进行order by 是不能实现的,因为MysqL会先执行group by 后执行 ...
- SQL分组取每组前一(或几)条记录(排名)
转自: https://www.cnblogs.com/netserver/p/4518995.html --按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: name val ...
- group by 查询分组后 各组的内部条数与组的条数
一.group by 查询分组后 各组的内部条数 说明:表:survey_consumer ,字段:profession SELECT COUNT(*) num,profession FROM sur ...
- GROUP BY 分组后显示组内所有数据
GROUP BY 分组后显示组内所有数据 数据表中需要根据某一个字段进行分组,但需要显示分组后组内的所有数据.两种方式: 1.数据表自己和自己进行连接查询,连接条件就是需要分组的字段,但这种方式查询出 ...
- 取出json中的数据php,怎么从Json中取出数据放到一个新组中
如何从Json中取出数据放到一个新组中 JSON数据如下: { "CommunityModel": [ { " UUID ": "xxxxxx-xxx ...
- oracle查询:分组查询,取出每组中的第一条记录
按type字段分组,code排序,取出每组中的第一条记录 方法一: select type,min(code) from group_info group by type; 注意:select 后面 ...
- 查询最近一千条数据mysql_保留mysql数据库中的最新1000条记录
mysql_connect("localhost","root","root"); mysql_select_db("test&q ...
最新文章
- Oracle的join默认为,Oracle中的三种Join方法详解
- JS OOP -01 面向对象的基础
- cvc 降噪_耳机降噪功能这么多,说说什么是ANC、ENC、CVC、DSP降噪
- 《线性代数的几何意义》笔记(1)
- Javascript 闭包何时回收?
- oracle 实现HA,使用KeepAlived实现HAProxy高可用
- UVa 621 - Secret Research
- linux pro*c环境配置,Pro*C 环境配置(RedHat +Oracle 10g)
- 游戏鼠标的dpi测试软件,怎样测试鼠标DPI印象中有这样的软件,但可以用游戏测试...
- C语言—递归函数有5个人围坐在一起,问第5个人多大年纪,他说比第4个人大2岁;问第4个人,他说比第3个人大2岁;问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个人说自己10岁
- lisp 套料_标志排字及过桥的AutoCAD自动化插件设计
- SqlServer 汉字转换拼音首字母函数
- 网络七层协议OSI(Open System Interconnection)
- 我参加NVIDIA Sky Hackathon(语音识别模型训练)
- Declare and Definition
- java+jsp基于ssm的智慧医疗系统医院挂号就诊系统-计算机毕业设计
- 算法从入门到入土(一)
- unity雪山场景+雪地素材包可以用于雪地雪山场景制作
- 计算机软件著作权登记简介
- Nacos小坑——启动异常以及正常启动后账号密码错误问题解决