Baldur, bevor Du behauptest ich würde komplizierte Lösungen liefern.Birgitta ist für ihre komplizieren Lösungen bekannt, aber es geht auch einfacher und vor allem auch schneller, denn CTE's sind keine Zwischentabellen:
Probier zunächst mal Deine Lösungen aus! Bei keiner der Lösungen, die du bietest erhälst Du die gewünschten 24!
Dieses Beispiel liefert:Code:Select F1, f2, Count(*) Count0, Count(*) over(partition By F1, F2) Count1, Count(*) over(Partition by F1) Count2 from x Group By F1, F2;
Der Count(*) und auch Count(Spalte) ist jeweils ein Count(Distinct, d.h. Duplikate werden NICHT gezählt.Code:F1 F2 Count0 Count1 Count2 A B 10 1 2 A C 14 1 2
Und wenn Du schon Prozent rechnen willst und Dir meine Lösungen zu kompliziert sind, dann nimm wenigstens den RATIO_TO_REPORT!
Das ist wie beim Äffle und Pferdle:Code:RATIO_TO_REPORT(ColX) OVER(Partition By ColY, ColZ) * 100
An der Tafel steht 1*1 -
Äffle schreibt die Lösung = 2 -
Pferdle schüttelt den Kopf -
Äffle korritiert: 1*2 -
Pferdle staunt -
Äffle sagt: 'G'lernt isch halt g'lernt!'
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks