mysql分组查询每组最新记录
时间: 2023-06-21 17:09:32 浏览: 93
sql分组查询
3星 · 编辑精心推荐
可以通过子查询和联结的方式实现查询每组最新记录。具体步骤如下:
1. 先按照分组字段进行分组,并在每组中选择最大的时间戳(或序号等)作为该组的最新记录标识。
```mysql
SELECT group_id, MAX(timestamp) AS max_timestamp
FROM table_name
GROUP BY group_id
```
2. 将上述语句作为子查询,与原表进行联结,筛选出每组的最新记录。
```mysql
SELECT t1.*
FROM table_name t1
INNER JOIN (
SELECT group_id, MAX(timestamp) AS max_timestamp
FROM table_name
GROUP BY group_id
) t2 ON t1.group_id = t2.group_id AND t1.timestamp = t2.max_timestamp
```
其中,`table_name` 为原始数据表名,`group_id` 为分组字段,`timestamp` 为时间戳字段。根据实际情况进行修改即可。
阅读全文