LambdaQueryWrapper 聚合函数
时间: 2023-12-06 12:38:52 浏览: 138
LambdaQueryWrapper是MyBatis-Plus中的一个查询构造器,它支持使用Lambda表达式来构建查询条件。在LambdaQueryWrapper中,我们可以使用聚合函数来对查询结果进行聚合操作。以下是LambdaQueryWrapper中常用的聚合函数及其使用方法:
1. count:统计查询结果的行数
```java
// 统计User表中年龄大于18岁的用户数量
int count = userMapper.selectCount(new LambdaQueryWrapper<User>()
.gt(User::getAge, 18));
```
2. sum:计算查询结果某一列的总和
```java
// 计算Order表中所有订单的总金额
BigDecimal totalAmount = orderMapper.selectOne(new LambdaQueryWrapper<Order>()
.select(Order::getAmount)
.lambda())
.getAmount();
```
3. avg:计算查询结果某一列的平均值
```java
// 计算Order表中所有订单的平均金额
BigDecimal avgAmount = orderMapper.selectOne(new LambdaQueryWrapper<Order>()
.select(Order::getAmount)
.lambda())
.getAmount();
```
4. max:查询查询结果某一列的最大值
```java
// 查询User表中年龄最大的用户
User maxAgeUser = userMapper.selectOne(new LambdaQueryWrapper<User>()
.orderByDesc(User::getAge)
.last("limit 1"));
```
5. min:查询查询结果某一列的最小值
```java
// 查询User表中年龄最小的用户
User minAgeUser = userMapper.selectOne(new LambdaQueryWrapper<User>()
.orderByAsc(User::getAge)
.last("limit 1"));
```
阅读全文