Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Grupo de produtos cumulativos do MySQL por


Se você estiver usando o MySQL 8, poderá usar funções da janela para criar o produto cumulativo. Infelizmente, não há PROD() função agregada/janela em qualquer banco de dados SQL que eu conheça, mas você pode emular usando EXP(SUM(LOG(factor))) :
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

dbfiddle aqui .