2016-05-06 25 views
0

我在HIVE中遇到了困難的編碼日期。 我想對我的數據每週顯示的唯一ID進行一次計數。HIVE中的軟編碼日期

例如

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

過濾該年度的數據,得到了週數,由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  
+0

謝謝你幫我找到一個解決方案: 選擇 計數(不同的ID)爲id_count,WEEKOFYEAR(時間戳)爲周, 年(時間戳)截至今年 從aws_d3.iaanalytics_detail 其中timestamp> '2016年1月27日' 和名稱= 「事件」 組由年(TO_DATE(時間戳)),WEEKOFYEAR(TO_DATE(時間戳)) 按年份排序,星期 –

+0

@DickMcManus很高興幫助 –