我有一個包含列[Account_No,Transaction_Amount,Transaction_Date和Transaction_Time]的表。我想在一天中選擇「交易金額超過2,000,000/- 和交易時間在10分鐘內」的賬戶。什麼將是這個問題。請幫忙。 我正在使用Teradata。按Teradata中的時間查詢分組結果
問候
Khawar
我有一個包含列[Account_No,Transaction_Amount,Transaction_Date和Transaction_Time]的表。我想在一天中選擇「交易金額超過2,000,000/- 和交易時間在10分鐘內」的賬戶。什麼將是這個問題。請幫忙。 我正在使用Teradata。按Teradata中的時間查詢分組結果
問候
Khawar
一種方式是自連接(如Teradata數據沒有實現RANGE OVER
語法)是這樣的:
SELECT t1.Account_No,
t1.Transaction_Date,
t1.Transaction_Time,
Sum(t2.Transaction_Amount) AS sumamt
FROM tab AS t1
JOIN tab AS t2
ON t1.Account_No = t2.Account_No
-- same day within the next ten minutes of a transaction
AND t2.Transaction_Date = t1.Transaction_Date
AND t2.Transaction_Time BETWEEN t1.Transaction_Time
AND t1.Transaction_Time + INTERVAL '10' MINUTE
GROUP BY 1,2,3
HAVING sumamt >= 2000000 -- more than 2 mio
QUALIFY
Row_Number() -- only one row per account/day
Over (PARTITION BY t1.Account_No, t1.Transaction_Date
ORDER BY t1.Transaction_Time) = 1
嗨,@ dnoeth,對於週末延遲迴復感到抱歉,我無法訪問Teradata,所以我必須等待開始一週檢查。你的建議查詢工作,我得到的結果。然而,存在一個問題,即「查詢使結果加倍」,例如如果有兩個實際的交易查詢顯示爲4.所以我簡化了查詢單個故事,它的工作。不過謝謝你寶貴的時間和迴應。最好的祝福。 – KhawarAmeerMalik
你和更多的細節可以? *交易時間在1到10分鐘之間*平均值,在10分鐘內或在每小時/每天的前十分鐘內? – dnoeth
這將是「在10分鐘內」先生。 – KhawarAmeerMalik
任何10分鐘的時間?從14:03到14:13?或者你的意思是14:00 - 14:09,14:10 - 14:19等?你如何定義10分鐘的開始? – Andrew