mySQL Aggregat-Funktion „PRODUCT()“

Um einen „Boost“-Faktor über mehrere Zeilen hinweg berechnen zu können, wird eine Aggregat-Funktion „PRODUCT()“ benötigt, die es in mySQL nicht gibt.

Mögliche SQL-Abfrage:
SELECT SUM(field) FROM table WHERE condition = true GROUP BY something;

Gewünschte SQL-Abfrage:
SELECT PRODUCT(field) FROM table WHERE condition = true GROUP BY something;

Lösung:
SELECT EXP(SUM(LOG(field))) FROM table WHERE condition = true GROUP BY something;

Die Lösung habe ich hier gefunden, wo sie auch nochmal genauer erklärt wird.

Row Data Multiplication in Oracle

Schreibe einen Kommentar