目前模块里有没有统计相关的功能?
都要爱王汝 发布于104月前 6答/2093阅

我想实现订单金额的按天、月统计功能:目前都是通过对元数据的操作进行CRUD,但是统计报表是通过sql语句查询完成。


过程中遇到的问题:目前不知道从何处下手进行开发?


我的分析过程如下:难道需要在oss项目中自行开发功能模块?



[沙发] Jieven
可以参考Demo中的,每日登录用户统计
CREATE TABLE `data_login` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `day` date DEFAULT NULL COMMENT '日期',
  `num` int(11) DEFAULT NULL COMMENT '每日登录数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8;

思路:
1.先写JOB(EveryDayJob.process)统计数据,然后将数据汇总到 data_login (就是各种count 然后 add 到 data_login)
2. 然后添加单表功能,by data_login
亮点
[地板] Jieven
参考JOB,按天,按月 统计到指定的表,然后新增CRUD功能,将这些数据展现出来!
[地毯] 都要爱王汝
JOB实现统计查询,然后插入到制定数据表,然后在页面显示~~ok,JOB的教程给推荐一下吧·~
[4楼] 残叶大师
感觉这种实现方式不能满足一般统计需求,总不能每次统计之前都先执行一个存储过程汇总到指定的表中去吧
[5楼] 残叶大师
为什么不能在元数据里增加一个功能,不仅可以根据指定的数据表生成元数据对象,还可以根据带参数的select 语句生成元数据,然后在后续的处理过程中可以根据需要替换参数,这样就能很方便的实现统计需求了,我以前用做C/S程序时也写过一个业务基础平台,统计汇总几乎不需要编码就能实现。
例如:
select name,sum(amount) 
where createtime>=${toolbar.starttime} and createtime<${toolbar.endtime}
group by name

后面可以在拦截器中用用户输入的起始时间和截止时间替换sql中的参数
[6楼] peisheng
实现按月汇总查询的方式可以通过建立视图,汇总每月情况,参考sql 语句

select month(`d`.`createdate`) ,sum(`d`.`汇总字段`) AS `汇总字段`  from `task` `d` where (year(`d`.`createdate`) = 2017) group by month(`d`.`createdate`)
提交评论