用mybatisplus,根据物种类别分类,从分组中取最新的一条数据并将这些数据分页
时间: 2024-03-17 21:47:10 浏览: 52
好的,根据您的要求,我可以提供以下的SQL语句来实现您的需求:
```
SELECT * FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY category ORDER BY create_time DESC) AS rn
FROM your_table
) t
WHERE t.rn = 1
ORDER BY t.create_time DESC
LIMIT {offset}, {limit}
```
其中,`your_table`是您要查询的表名,`category`是您要根据哪个字段进行分组,`create_time`是您要根据哪个字段来判断最新的一条数据,`offset`和`limit`是您要查询的页码和每页数量,可以根据实际情况进行替换。
上述SQL语句使用了窗口函数和子查询来实现对每个分组中最新一条数据的筛选,并且使用`ORDER BY`和`LIMIT`实现了分页功能。使用Mybatis Plus可以将该SQL语句放在Mapper接口中的`@Select`注解中,然后在Service层调用即可。
阅读全文