QueryWrapper聚合函数按月查询

项目需求为统计每个月全部用户的一些数据,采用了QueryWrapper聚合函数实现,代码如下:

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
if(!StringUtils.isEmpty(dateIntervalAna)){
queryWrapper.select("date_format(loginDate, '%Y-%m') as dateInterval", "sum(loginTimes) as amount",y)
        .groupBy("dateInterval");
}//此处loginDate为自己数据库的时间字段,%Y-%m'为以月为间隔,dateInterval为自定,sum(loginTimes)为对每个阶段求和,amount为自定
Map<Object, Double> cMap = new TreeMap<Object, Double>();//以下根据自己项目需求

List<Map<String, Object>> list = userService.listMaps(queryWrapper);//通过上面条件查询数据库
//System.out.println(list);//不做更改输出就如下图
for( int i = 0 ; i < list.size() ; i++) {//这里我是分别取出放进另一个集合发给前端
    cMap.put(list.get(i).get("dateInterval"), Double.valueOf(list.get(i).get("amount").toString()));
}

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值