收到一朋友求助:如下图的报表格式
思路如下
第一步:处理出基础数据是每个用户每个月属于每个区间的数据
savemoney_bymonth
month user save_qujian
201412 a1 5~50
201412 a2 50~100
201501 a1 5~50
201501 a2 50~100
201502 a1 5~50
201502 a2 50~100
201503 a1 5~50
201503 a2 50~100
201504 a1 5~50
201504 a2 50~100
201505 a1 5~50
201505 a2 50~100
第二步:根据传过来的查询类型 如果是3个月,查询时间querydate
--查出连续几个月都有存款的用户
select a.user,count(distinct a.month) from savemoney_bymonth a
where a.month>=dateadd(querydate,month,-2)
and a.month<=querydate
group by a.user having count(distinct a.month)=3
--第二步子查询
根据当前月份统计不同类型的用户量