HIVE中的软编码日期

时间:2016-05-06 17:43:07

标签: date hive counting

我在HIVE中遇到困难的软编码日期。 我想计算每周出现在我数据中的唯一ID。

e.g。

SELECT    
Count(distinct ID)    
From Database.Table    
Where filter1 = "Thing1" And filter2 = "Thing2"    
AND TO_DATE(timestamp_utc) between TO_DATE("2016-04-10") AND TO_DATE("2016-04-16")

但我希望这不仅仅是一个星期,而是今年到目前为止的每个星期,而不必在手动输入不同日期的情况下运行20次。

有什么建议吗?谢谢。

1 个答案:

答案 0 :(得分:1)

过滤年份数据,获取周数,按ID分组,周数

select count(distinct id) as id_count,weekofyear(TO_DATE(timestamp_utc)) as weeks
from Table
where filter1 = "Thing1" and filter2 = "Thing2" and TO_DATE(timestamp_utc) > '2016-01-01'
group by id,weeks