分库分表使用 mybatisplus 实现分组后查询每组最新一条数据
时间: 2023-09-24 09:02:34 浏览: 815
可以使用 MybatisPlus 提供的分页插件 Page 进行分组后查询每组最新一条数据。具体步骤如下:
1. 按照分组字段对数据进行分组,可以使用 MybatisPlus 提供的 QueryWrapper 类的 groupBy 方法实现。
2. 对分组后的数据按照时间排序,可以使用 MybatisPlus 提供的 QueryWrapper 类的 orderByDesc 方法实现。
3. 使用 MybatisPlus 提供的分页插件 Page 对每组数据进行分页查询,查询结果即为每组最新一条数据。
下面是示例代码:
```
// 分组字段
String groupField = "group_id";
// 排序字段
String sortField = "create_time";
// 构建查询条件
QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.groupBy(groupField).orderByDesc(sortField);
// 分页查询每组最新一条数据
Page<Entity> page = new Page<>(1, 1);
IPage<Entity> result = entityMapper.selectPage(page, queryWrapper);
List<Entity> records = result.getRecords();
```
注意,这种方法的前提是每组数据的时间字段值不相同,否则可能会出现查询结果不准确的情况。
阅读全文
相关推荐















