我正在寻找一个可以通过以下方式在21天后汇总数据的查询: 我的表有以下几列: accountid,date,measure
对于每个帐户,我需要将之前的21天的日期汇总(衡量)。 有没有想法如何在没有窗口/分析功能的纯SQL中做到这一点? (我在一个没有分析功能支持的BI产品中编写SQL)
答案 0 :(得分: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天的方法。