[英]Subtract Max, Min Date by Group in Impala
我有一個查詢,可以在黑斑羚中按用戶查找最大和最小日期:
select max(id_date) as last_tran
,min(id_date) as first_tran
,user
from table_1 a
join table_2 d
on a.id = d.id
group by 3
然后,我想按用戶減去最小和最大日期。
在Impala中,我嘗試使用date_sub
函數,但是它不起作用。
select date_sub(last_tran, first_tran) as date_len
, user
from
(select max(id_date) as last_tran
,min(id_date) as first_tran
,user
from table_1 a
join table_2 d
on a.id= d.id
group by 3) time
group by 1,2
似乎date_sub
函數的第二個參數必須是代表天的整數。
我該如何解決?
為了使這項工作有效,應使用datediff
函數,如下所示:
select datediff(last_tran, first_tran) as date_len
, user
from
(select max(id_date) as last_tran
,min(id_date) as first_tran
,user
from table_1 a
join table_2 d
on a.id= d.id
group by 3) time
group by 1,2
該函數返回開始日期和結束日期之間的天數。 從文檔看來,天的返回值似乎無法更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.