mysql中按某个字段分组,按日期字段排序后,取每组中的最新的一条数据
时间: 2024-02-05 15:14:04 浏览: 132
MySql分组后随机获取每组一条数据的操作
5星 · 资源好评率100%
可以使用子查询和连接的方式实现该需求:
```
SELECT t1.*
FROM table_name t1
INNER JOIN (
SELECT MAX(date_field) AS max_date, group_field
FROM table_name
GROUP BY group_field
) t2 ON t1.group_field = t2.group_field AND t1.date_field = t2.max_date
ORDER BY t1.date_field DESC;
```
其中,`table_name` 为你需要查询的表名,`date_field` 表示按照哪个日期字段排序,`group_field` 表示按照哪个字段进行分组。该语句会先通过子查询获取每组中最新的数据的日期,并与原表连接,筛选出符合条件的最新数据。最后按照日期字段降序排列,即最新的数据排在前面。
阅读全文