sql >> Database >  >> RDS >> Mysql

MySQL cumulatieve productgroep door

Als je MySQL 8 gebruikt, kun je vensterfuncties om het cumulatieve product te creëren. Helaas is er geen PROD() aggregatie- / vensterfunctie in elke SQL-database die ik ken, maar je kunt het emuleren met 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 hier .



  1. Een waarde retourneren, zelfs als er geen resultaat is

  2. Hoe kan ik twee tabellen samenvoegen met een verschillend aantal rijen in MySQL?

  3. MariaDb ondersteunt geen ANY_VALUE() functie

  4. Wijzig SQL Database verdachte modus in normale modus met query