Ich habe herumgestöbert und eine Reihe von verschiedenen Beispielen gefunden, von denen keines zu funktionieren schien. Der nächste, den ich habe, war über(), aber es wegen Syntaxfehler fehlgeschlagen.Berechnen Sie die Verhältnisse der Subsummen in der Gesamtsumme
Betrachten Sie die folgende Abfrage.
select Id,
count(*) as Count,
sum(Amount) as Sum
from MyTable
group by Id
Das Ergebnis ist eine Liste von Id s mit der Anzahl der Vorkommen und die Werte betrugen. Das funktioniert großartig. Ich möchte jedoch auch zeigen, wie groß der Anteil jeder Summe in der Gesamtsumme ist. Ich habe Folgendes versucht.
select Id,
count(*) as Count,
sum(Amount) as Sum,
sum(Amount)/sum(Amount) over() as Ratio
from MyTable
group by Id
Es schlägt fehl, und ich bin nicht sicher, wie es zu beheben (vor allem, weil das über Dingen eher eine Vermutung als stabil Wissen war).
Guter Vorschlag. In meinem speziellen Fall wäre die Unterabfrage jedoch humong (Joins, Wheres, Sub-Sub-Selects usw.). Ich hatte auf eine faule Mannlösung gehofft, hehe. Kann das mit diesem * over * dingy gemacht werden? –