使用条件构造器来统计每个手机号的不同发送状态的个数,代码实现。
时间: 2024-05-15 15:16:39 浏览: 63
手机短信发送的统计情况
假设我们有一个名为Message的实体类,其中有一个属性为phone表示手机号,一个属性为status表示发送状态,我们可以使用条件构造器来统计每个手机号的不同发送状态的个数,代码实现如下:
```java
// 定义查询条件
QueryWrapper<Message> queryWrapper = new QueryWrapper<>();
// 按手机号分组,统计每个手机号的不同发送状态的个数
queryWrapper.select("phone, count(distinct status) as statusCount").groupBy("phone");
// 执行查询
List<Map<String, Object>> result = messageMapper.selectMaps(queryWrapper);
// 输出结果
for (Map<String, Object> map : result) {
String phone = (String) map.get("phone");
Long statusCount = (Long) map.get("statusCount");
System.out.println("手机号:" + phone + ",不同发送状态的个数:" + statusCount);
}
```
其中,messageMapper是Message的Mapper类,通过调用selectMaps方法可以返回一个List<Map<String, Object>>类型的结果,每个Map表示一条记录的统计结果,其中key为字段名,value为统计结果。通过遍历结果集,我们可以输出每个手机号的不同发送状态的个数。
阅读全文