赞
踩
SELECT
substr( create_date(字段), 1, 10 ) AS time,
IFNULL(count(*),0) as count(计数)
FROM
app_module
WHERE
substr( create_date(字段), 1, 10 ) > DATE_SUB(substr('2018-09-05'(从哪一天统计), 1, 10 ), INTERVAL 300(统计多少天) DAY ) AND substr('2018-09-05'(从哪一天统计), 1, 10 ) >= substr( create_date(字段), 1, 10 )
GROUP BY
substr( create_date(字段), 1, 10 )
红色部分是需要修改的。
然后我们可以看到,每天的数量都展示出来了,那么出现个问题。会出现如果当天没有,就不展示了。
但是我们需要展示所有的,没有的话就不展示。
我们用代码实现
- private static List<Map<String, Object>> map2map(List<Map<String, Object>> mapList){
- //补全数据库中不存在的日期,订单数为0
- List<String> dayList = DateUtil.dayList(30);//得到7天前到今天每天的日期
- boolean exists = false;
- for (int i=0;i<dayList.size();i++) {
- exists=false;
- for (Map<String, Object> hs : mapList) {
- if (dayList.get(i).equals(hs.get("time"))) {
- exists=true;
- break;
- }
- }
- if(!exists){
- final String date=dayList.get(i);
- mapList.add(i,new HashMap<String,Object>(){{
- put("count", 0);
- put("time", date);
- }});
- }
- }
- return mapList;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。