mysql group by 取最新数据
时间: 2023-07-28 15:10:05 浏览: 94
可以使用子查询和MAX函数来实现MySQL中按照某个字段分组,并且取每组最新数据的需求,例如:
```
SELECT t1.* FROM table_name t1
INNER JOIN (
SELECT group_field, MAX(date_field) AS max_date
FROM table_name
GROUP BY group_field
) t2
ON t1.group_field = t2.group_field AND t1.date_field = t2.max_date;
```
其中,`table_name`为你要查询的表名,`group_field`为你要分组的字段,`date_field`为你要取最新数据的字段。这条SQL语句会先使用子查询获取每个分组的最新时间,然后再将原表与子查询结果进行JOIN,从而筛选出每个分组的最新数据。
阅读全文