樣例資料如下所示: 僅僅展示欄位createtime和memberid
createtime memberid
2017/11/13 2017-11-13 12:00:01 8a9e7bf05d7ec61b015d89e060901ef8
2017/11/13 2017-11-13 12:01:01 8a9f156c5d409b7d015d4566b0f06b06
2017/11/13 2017-11-13 12:02:01 8a9f17655e078b0e015e14a79de02059
需求是怎麼將相同的memberid,間隔展示出來??
---建立測試表
create table member_create(memberid string,creatime timestamp);
--插入資料
insert into member_create values('8a9e7bf05d7ec61b015d89e060901ef8','2017-11-13 12:00:01');
insert into member_create values('8a9e7bf05d7ec61b015d89e060901ef8','2017-11-13 12:01:01');
insert into member_create values('8a9e7bf05d7ec61b015d89e060901ef8','2017-11-13 12:02:01');
---測試語句
select memberid, creatime, last_creatime,
case when last_creatime is null then 0 else unix_timestamp(creatime)-unix_timestamp(last_creatime) end diff_time
from (select memberid, creatime, lag(creatime) over(partition by memberid order by creatime) last_creatime
from member_create) t;
--執行結果
8a9e7bf05d7ec61b015d89e060901ef8 2017-11-13 12:00:01 null 0
8a9e7bf05d7ec61b015d89e060901ef8 2017-11-13 12:01:01 2017-11-13 12:00:01 60
8a9e7bf05d7ec61b015d89e060901ef8 2017-11-13 12:02:01 2017-11-13 12:01:01 60
說明: 我僅僅列舉了偏移量函式的用法,個人認為,hive中的分析函式和oracle中的分析函式功能都是類似的
Python time模組以及時間戳的使用
1.將字串的時間轉換為時間戳import time a 2013 10 10 23 40 00 將其轉換為時間陣列 timearray time.strptime a,y m d h m s print timearray 列印結果 time.struct time tm year 2013,tm ...
Go語言時間與字串以及時間戳的相互轉換
1 時間與字串以及時間戳的相互轉換 package main import fmt time func main fmt.printf string型別 2021 11 30 19 21 35 time型別 v n location time型別 時間戳 秒 unix now.unix fmt.pr...
hive中的時間處理函式
返回值 string 說明 轉化unix時間戳 從1970 01 01 00 00 00 utc到指定時間的秒數 到當前時區的時間格式 舉例 hive select from unixtime 1323308943,yyyymmdd from dual 20111208 獲取當前unix時間戳函式 ...