最近突然领导让我做一个获取一个月每一天的数据量 效果是这样的
第一 在控制层生成当前月份
/**
* 获取当前月 即年/月 如2018/08/
*/
public static final String currentMonth()
{
Date now = new Date();
return DateFormatUtils.format(now, "yyyy/MM");
}
第二 传入到service一直到xml
select date_format(from_unixtime(createTime/1000), '%Y-%m-%d') day, count(*) as daycount from 表名 group by day;
createTime是时间戳 1630744304220
select date_format((msgSendTime), '%Y-%m-%d') day, count(*) as daycount from 表名 group by day;
msgSendTime是时间格式2021-09-03 11:17:37
我用这个发现没有排序 我最终修改的如下
select date_format((F_CreatorTime), '%Y-%m-%d') day, count(*) as daycount from 表名 WHERE F_CreatorTime like "2018-07%" group by day ORDER BY day desc;
F_CreatorTime 是时间格式2021-09-03 11:17:37 这个时间格式根据数据库里面日期来改
第三 如果查询的是一年中每一天的数据量
/**
* 获取当前月 即年/月 如2018/08/
*/
public static final String currentMonth()
{
Date now = new Date();
return DateFormatUtils.format(now, "yyyy");
}
sql语句如下 select date_format((F_CreatorTime), '%Y-%m-%d') day, count(*) as daycount from 表名 WHERE F_CreatorTime like "2018%" group by day ORDER BY day desc;
效果如下:
oacle是sql
select TO_CHAR(VIMA_CT_TM,'YYYY/MM/DD') as day,count(*) as count from vae_vima_tb where TO_CHAR(VIMA_CT_TM,'YYYY/MM') = #{month} group by to_char(VIMA_CT_TM,'YYYY/MM/DD') order by to_char(VIMA_CT_TM,'YYYY/MM/DD')
这就是我的成果 欢迎讨论