2016-07-23 148 views
0

我期待的,可以在21日的累計數據傳回以下列方式基礎上的查詢: 我的表有以下幾列: ACCOUNTID,日期,測量SQL滑動窗口聚集(不使用窗口功能)

對於每個賬戶,我需要爲前21天的總計(衡量)日期。 任何想法如何在沒有窗口/分析函數的純SQL中完成它? (我在一個BI產品裏面寫的SQL不支持分析函數)

+0

你能提供樣品數據和想要的結果嗎?從什麼回來21天? –

回答

1

一個效率相當低的方法使用相關的子查詢。如果你想爲每個條目之前的21天,則:

select t.*, 
     (select sum(t2.measure) 
     from t t2 
     where t2.accountid = t.accountid and 
       t2.date > t.date - interval '21' day 
     ) as sum21 
from t; 

在該日期由功能數據庫不同,所以你的特定數據庫可能減去21天來的另一種方法。