mysql与oracle按月分组查询统计数量小结
mysql:
SELECT
DATE_FORMAT( create_time, '%m' ) AS monthName,
sum( 1 ) AS monthCount
FROM
`rs_complain`
WHERE
is_deleted = 0
GROUP BY
monthName
oracle:
select to_char(t.AAA008, 'MM') as MONDATE, sum(1) as MONCOUNT
from ${db1}ab02 t
where to_char(t.AAA008, 'yyyy') = #{year}
GROUP BY to_char(t.AAA008, 'MM')
ORDER BY MONDATE
后台处理为12个月展示
List<HomePageDto> newAddListResult = getResult(newAddList);
private List<HomePageDto> getResult(List<HomePageDto> newAddList) {
    List<HomePageDto> newList = new ArrayList<>();
    for (int i = 1; i < 13; i ++){
        HomePageDto homePageDto = new HomePageDto();
        homePageDto.setMonthCount(0);
        homePageDto.setMonthName(i+"月");
        newList.add(homePageDto);
    }
    List<HomePageDto> newList1 = new ArrayList<>();
    for (int i = 0; i < newAddList.size(); i++){
        HomePageDto homePageDto1 = newAddList.get(i);
        HomePageDto homePageDto = new HomePageDto();
        String monthName = homePageDto1.getMonthName();
        if(Integer.parseInt(monthName) < 10){
            String mon = monthName.substring(1);
            homePageDto.setMonthName(mon + "月");
            homePageDto.setMonthCount(homePageDto1.getMonthCount());
            newList1.add(homePageDto);
        }else{
            homePageDto.setMonthName(homePageDto1.getMonthName() + "月");
            homePageDto.setMonthCount(homePageDto1.getMonthCount());
            newList1.add(homePageDto);
        }
    }
    newList.forEach(m -> {
        newList1.forEach(p -> {
            if(p.getMonthName().equals(m.getMonthName())){
                m.setMonthCount(p.getMonthCount());
            }
        });
    });
    return newList;
}
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号