在线等,JAVA按月统计如何做,给个思路

jxcaojixiang 2011-06-13 11:22:39
RT

例如:我选择了2011-01 - 2011-06 月共6个月,如何统计,统计结果是把一个月一个月的显示出来,

结果:2011-01 100条
2011-02 50条
...
2011-06 20条

怎么实现呢


在线等,JAVA按月统计如何做,给个思路
...全文
1174 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengmaohu 2011-09-04
  • 打赏
  • 举报
回复
看看这里有我写的开源的一些工具类,专门作统计的:http://jabb.sourceforge.net/javadoc/net/sf/jabb/util/stat/package-summary.html。如果按你最初所说,应该是一个按时段的频次统计,用BasicFrequencyCounter就好了。PDF格式的文档在这里有,可以看看:http://jabb.sourceforge.net/doc/jabb_intro.pdf
jxcaojixiang 2011-06-13
  • 打赏
  • 举报
回复
是的,是的。谢谢各位
lh_fengyuzhe 2011-06-13
  • 打赏
  • 举报
回复
一次就可以啊。上面这条语句是所有月的统计
指定月份你就放到where条件中就行了。
select to_char(time ,'yyyy-MM'),count(1) from table where createdate>=to_date('2000-01', 'yyyy-MM') and createdate <= to_date('2011-01', 'yyyy-MM') group by to_char(time ,'yyyy-MM')
javaors 2011-06-13
  • 打赏
  • 举报
回复
楼主如果非要
加上100条 50条这种统计,当然要遍历每个月的条数,所以理所当然要查好几次数据库。

如果不要这些统计,就是在页面判断它是哪个月份的,然后分类显示一下。
这样子只要查询一遍即可。
jxcaojixiang 2011-06-13
  • 打赏
  • 举报
回复
如果用了上面这条语句的话,如果我现在选择了时间是2000-01 - 2011-01 的话,那这就要查好多遍的数据库哦。
jxcaojixiang 2011-06-13
  • 打赏
  • 举报
回复
这条语句只能一条一条的查询结果,但我的前台是两个日期控件
开始时间:2011-01
结束时间:2011-06

我要的显示结果是:
2011-01 100条
2011-02 50条
...
2011-06 20条

是这样的
loveofmylife 2011-06-13
  • 打赏
  • 举报
回复
select to_char(time ,'yyyy-MM'),count(1) from table group by to_char(time ,'yyyy-MM')
乄哥 2011-06-13
  • 打赏
  • 举报
回复
恩 这个很正确。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧