需求:对一组投票日志文件进行日汇总统计,统计出当天所有被投票人的各种类型票数。
并将结果放到另外的一张表中。日志文件中有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不能有分组统计的处理。所以我们
将分组统计模块给屏蔽了。