mysql分组查询每组最新记录
时间: 2023-06-21 12:24:59 浏览: 84
mysql分组取每组前几条记录(排名) 附group by与order by的研究
可以使用子查询和MAX函数来实现mysql分组查询每组最新记录的功能。
例如,假设有一个名为`table_name`的表,其中包含三个字段:`group_id`、`record_id`和`created_time`。要查询每个`group_id`组的最新记录,可以使用以下SQL语句:
```
SELECT t1.*
FROM table_name t1
INNER JOIN (
SELECT group_id, MAX(created_time) AS max_time
FROM table_name
GROUP BY group_id
) t2
ON t1.group_id = t2.group_id AND t1.created_time = t2.max_time
```
这个SQL语句首先使用子查询来获取每个`group_id`组的最新记录的`created_time`。然后,使用INNER JOIN来将这些最新记录的`group_id`和`created_time`与原始表中的记录匹配,从而得到每个组的最新记录。
阅读全文