我有一個3列rcvr_id(用戶ID),mth_id和tpv表。 mth_id計算爲(2012-1900)* 12 + 1,2,3(取決於是否是1月,2月,3月)。例如,2011年12月的mth_id是1344年,2012年1月是1345年。第三列是tpv,它是一個十進制數,並保存該月份用戶的交易。一個例子表是高效地遍歷sql表格
rcvr_id mth_id tpv
.
.
.
1 1326 23
1 1327 13
1 1329 9
1 1345 2
1 1330 25
1 1350 22
2 1325 31
2 1351 23
3 1327 130
3 1329 90
3 1345 20
3 1330 250
3 1350 220
.
.
.
等其他用戶(mth_ids可能不被訂購)(rcvr_id和mth_id一起組成主鍵).Rcvr 2已被忽略,因爲他沒有在TPV在月份1326和1350之間。
mth_id中缺失的行值表示該月份rcvr有0 tpv。 即1328,1331至1344,1346至1350tpv是0.
問題:我想創建一個表,它包含兩列rcvr_id,mth_id和第三列-change_in_tpv。例如,對於一個月1327 ..行會像
1 1327 10,i.e (tpv of 1327-tpv of 1326)
對於用戶1: 月分1347,在TPV月1346(即使兩個行月1347- TPV的TPV =變化不存在,我必須把他們的tpvs作爲0)。對於1346,tpv = 1345-tpv = 1345 = -2。
對於每一個接收器(即有1326和1350之間的TPV)我需要計算在冠捷的變化數月至1327 1350
詳情:Teradata的,超過百萬rows.How做呢並有效地做到這一點。
多個查詢/ TEMP表可用於
SRY這麼多編輯:X – user1356163
您已經標記了這個甲骨文,但你的,因爲它是Teradata的描述說(這也是標記的Teradata)。甲骨文在這個過程中參與了什麼? –
哦,是的,我的壞。出於習慣 – user1356163