Wenn Sie MySQL 8 verwenden, können Sie Fensterfunktionen
um das kumulierte Produkt zu erstellen. Leider gibt es kein PROD()
Aggregat / Window-Funktion in jeder mir bekannten SQL-Datenbank, aber Sie können es mit EXP(SUM(LOG(factor)))
emulieren
:
SELECT
quote_date,
security_id,
tr,
1000 * (EXP(SUM(LOG(1 + COALESCE(tr, 0)))
OVER (PARTITION BY security_id ORDER BY quote_date)))
AS accum_index
FROM stock_prices