我在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次。
有什么建议吗?谢谢。
答案 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