java分组求和实例_mybatis example group by count 分组求和 - java分组求和

本文介绍了如何使用Java和MyBatis查询过去30天内每个用户每天的发送条数,并展示如何通过Java处理查询结果进行日期分组和计数。同时,文中给出了在原有基础上添加所有日期统计信息的改进方法,即使某些日期没有记录也会返回0。
摘要由CSDN通过智能技术生成

一、简单说明

本以为mybatis的example可以搞定group by,后面看到说不行

于是曲线救国,直接查出一个list,然后再用java对数据进行操作

不过话说回来,这样写是比写sql麻烦一点,但是个人感觉这样效率会高一点(未做对比测试)

二、需求说明

查出数据库中,过去30天,每个用户(merId)每天的发送条数

改进版,在1的基础上,加上所有日期的统计信息,对应日期没记录也加上

三、所用技术概要

jodatime:方便对时间进行操作,转换等

stream:对java进行操作,很是方便,此处只是stream用法的冰山一角

四、代码实现

省略了生成的实体类、mapper、example等

需求1实现

public Map coountDays(String merId){

SmsCustomerSendDetailExample example = new SmsCustomerSendDetailExample();

// 查询条件

DateTime dt = new DateTime();

// 当天00:00:00往前推30天

DateTime days = dt.withTimeAtStartOfDay().minusDays(30);

Criteria criteria = example.createCriteria();

criteria.andCustomerIdEqualTo(merId);

criteria.andCreateTimeBetwee

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值