发表评论
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import java.util.List; public class GroupByExample { public static void main(String[] args) { UserMapper userMapper = new UserMapper(); // 假设这是自定义的UserMapper LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.select(User::getId, User::getName) // 指定需要查询的字段 .groupBy(User::getName) // 按照 name 字段进行分组 .having("count(*) > 1"); // 指定分组后的筛选条件 List<User> userList =Mapper.selectList(queryWrapper); userList.forEach(System.out::println); } }
在上述案例中,我们通过LambdaQueryWrapper构建了一个查询条件。首先,通过select方法指定了需要查询的字段(这里指定了id和name字段)。然后,通过groupBy方法按照name字段进行分组。最后,having方法指定了分组后的筛选条件(这里筛选出分组后的记录数大于1的结果)。
最后,我们使用userMapper的selectList方法执行查询,并打印查询结果。
请根据你的实际业务需求,调整查询条件和筛选条件。