SQL Server Query - Gruppenweise Multiplikation

8

Wenn wir eine Tabelle wie diese haben:

%Vor%

Wie können wir gruppieren / multiplizieren, um das zu bekommen?

%Vor%     
Gopi 06.09.2010, 18:28
quelle

3 Antworten

18

Das Multiplizieren von Zeilenwerten entspricht dem Hinzufügen von Logarithmen von Zeilenwerten

Der Trick besteht darin, mit Nullen und Nullen umzugehen.

Ok, jetzt geprüft

%Vor%     
gbn 06.09.2010, 18:35
quelle
1

At ärgert mich, dass es keine Multiply / Product Aggregatfunktion in SQL Server gibt. Leider habe ich oben die Antwort @gbn nicht gefunden, bis ich das Problem schon anders gelöst hatte. Ich poste diese alternative Lösung nur für den Fall, dass es jemandem hilft oder wenn es sich als effizienter herausstellt.

Meine Lösung beinhaltet grundsätzlich die Verwendung eines rekursiven allgemeinen Tabellenausdrucks, um alle Werte zu multiplizieren.

%Vor%

Starttabelle (+ die Nummer der partitionierten Zeile) wählt:

%Vor%

Liste der ID / Multiplikatoren, die alle zusammen multipliziert werden, wählt:

%Vor%     
James S 13.09.2013 10:34
quelle
1

Dies kommt von CodePlex "Aggregat Produkt Funktion erweitert SQL". Ich änderte die Anweisung, um die gewünschten Ergebnisse zurückzugeben, außer für die NULL-Gruppe, es gibt "1" zurück.

%Vor%

Hinweis: Ссылка

    
Gimli 04.05.2016 20:36
quelle

Tags und Links