我想计算30天范围内的唯一帐户总数。我在MySQL(InfiniDB)上使用的引擎似乎只支持在平等条件下连接表。滑动窗口上的聚合仅有等连接
我的表看起来像这样:
sessions (date_id, account_id) =
{ '2013-07-07', 5
'2013-07-07', 5
'2013-07-07', 1
'2013-07-08', 3
'2013-07-09', 3
}
我当前的查询看起来是这样的:
SELECT
date_id, (
SELECT COUNT(DISTINCT account_id)
FROM sessions t2
WHERE t2.date_id BETWEEN DATE_SUB(t1.date_id, INTERVAL 30 DAY) AND t1.date_id
) cnt
FROM sessions t1
GROUP BY date_id
只有同等联接的支持,因此BETWEEN
操作不起作用联接表。
任何帮助是极大的赞赏:)
感谢您的帮助。不幸的是,它不支持。该查询具有使用不等式加入的相同问题。 – beefyhalo