lambdaquerywrapper去重保留最新数据查询
时间: 2023-08-24 10:06:42 浏览: 273
其它标量方程-springboot整合mybatis-plus实现多数据源的动态切换且支持分页查询
LambdaQueryWrapper可以通过使用group by和max函数来实现去重并保留最新数据的查询。根据引用\[3\]中的SQL统计语句,可以将其转换为LambdaQueryWrapper的形式。以下是一个示例代码:
```java
LambdaQueryWrapper<MyClass> wrapper = new LambdaQueryWrapper<>();
wrapper.in(MyClass::getName,
Wrappers.<MyClass>lambdaQuery().select(MyClass::getName)
.groupBy(MyClass::getName))
.in(MyClass::getInsertTime,
Wrappers.<MyClass>lambdaQuery().select("max(insertTime)")
.groupBy(MyClass::getName));
List<MyClass> result = myClassMapper.selectList(wrapper);
```
在这个示例中,我们使用了两个子查询来获取去重的name和最新的insertTime。第一个子查询使用groupBy和select函数来获取去重的name,第二个子查询使用groupBy和max函数来获取最新的insertTime。然后,我们将这两个子查询作为in条件传递给LambdaQueryWrapper的in方法。最后,使用selectList方法执行查询并返回结果列表。
请注意,这只是一个示例代码,具体的实现可能需要根据你的实际情况进行调整。
#### 引用[.reference_title]
- *1* [如何用LambdaWrapper去实现去重查询](https://blog.csdn.net/HRX98/article/details/127120730)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [mysql 去重保留表中最新数据](https://blog.csdn.net/weixin_42219542/article/details/117472106)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [MySQL去重查询只保留一条最新的记录](https://blog.csdn.net/u014132947/article/details/123026898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文