根据字段内容条件的统计需求处理
2016-07-29 00:00
232 查看
需求:对一组投票日志文件进行日汇总统计,统计出当天所有被投票人的各种类型票数。
并将结果放到另外的一张表中。日志文件中有vote_type,vote_mode标识不同的数据类型。
日志表名称:vote_log
vote_type和vote_model的组合为下:
0,0:A类型
0,1:B类型
1,0:C类型
0,2:D类型
sign_up_id:表示被投票人id
vote_time:标识具体投票时间
前提条件:一条log记录相当于一票
具体实施的sql:
知识点总结:
1、对于这种根据字段的具体值来进行统计的数据需要有一个判定各种类型值的处理。这里用decode函数处理
2、因为我们要统计某天的各种类型的投票数量,所以我们需要对被投票人id和日期进行分组,同时我们需要
将各种的投票进行累加。当条件组合是某一种类型的时候,当前类型加一,其他的就累加数字零。
3、为啥select套select,因为直接使用insert into,要求他后边的select不能有分组统计的处理。所以我们
将分组统计模块给屏蔽了。
并将结果放到另外的一张表中。日志文件中有vote_type,vote_mode标识不同的数据类型。
日志表名称:vote_log
vote_type和vote_model的组合为下:
0,0:A类型
0,1:B类型
1,0:C类型
0,2:D类型
sign_up_id:表示被投票人id
vote_time:标识具体投票时间
前提条件:一条log记录相当于一票
具体实施的sql:
insert into 汇总统计表_statics ( id, A_vote, B_vote, C_vote, D_vote, sign_up_id,--被投票人id datetime ) select 统计表_seq.nextval, t.A_vote, t.B_vote, t.C_vote, t.D_vote, t.sign_up_id,--被投票人 t.datetime from ( select sum(decode(b.vote_type || b.vote_mode, '00', 1, 0)) A_vote,--A类型 sum(decode(b.vote_type || b.vote_mode, '01', 1, 0)) B_vote,--B类型 sum(decode(b.vote_type || b.vote_mode, '10', 1, 0)) C_vote,--C类型 sum(decode(b.vote_type || b.vote_mode, '02', 1, 0)) D_vote,--D类型 b.sign_up_id sign_up_id, trunc(b.vote_time) datetime from vote_log b where b.vote_time between TRUNC(开始日期) and TRUNC(结束日期) group by b.sign_up_id, trunc(b.vote_time) ) t;
知识点总结:
1、对于这种根据字段的具体值来进行统计的数据需要有一个判定各种类型值的处理。这里用decode函数处理
2、因为我们要统计某天的各种类型的投票数量,所以我们需要对被投票人id和日期进行分组,同时我们需要
将各种的投票进行累加。当条件组合是某一种类型的时候,当前类型加一,其他的就累加数字零。
3、为啥select套select,因为直接使用insert into,要求他后边的select不能有分组统计的处理。所以我们
将分组统计模块给屏蔽了。
相关文章推荐
- 查看系统的CPU的位数
- ssh2技术框架出现的第一次事务调用抛异常的问题处理
- 第三章:Creating Applications and activities-(五)理解应用的优先级以及进程状态
- 各种免费的在线小工具
- 2011你好
- oracle开发者大会见闻-最佳实践和最差实践
- Activemq(3)
- freemarker的模板标签获取
- linux下的memcache的线程配置
- 火车票订票系统的几点优化思考
- ofbiz的webservice接口提供(3)-wsdl文件的不规范性
- android中使用httpclient提交表单
- 消息摘要算法-MAC算法系列
- springframework(九)AOP的advices,中规中矩的使用方式
- 第三章:Creating Applications and activities-(一)什么组成了一个Android应用
- memcache集群使用原则
- glassfish 安装
- 邮件营销相关技术知识
- ofbiz的webservice接口提供(3)-不规范的wsdl的客户端访问代码
- EXECUTE IMMEDIATE 使用小结