我想計算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