表结构
需求
hive表设计是按天存储数据,每天一个分区,存放全国不同省市的用户数据,省市通不过cityid字段编号的不同做区分,现在需要输出天津每个月的用户总数。
思路
这里仅提供自己的思路,对全表进行查询,并截取日期字段,取前6位,保留到月,对数据按月进行重新分组,并输出总数count和月份。这里使用到了substr函数。
代码
select count(tj.mdn),tj.month
from
(
select dt.mdn,dt.cityid,substr(dt.day,1,6) as month
from
proripc.develop_mergelocation_tianjin dt
where
dt.cityid = ‘81201’
) tj
group by tj.month;
代码仅供参考,如有更好的方法,欢迎留言交流。