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:
Baldur, bevor Du behauptest ich würde komplizierte Lösungen liefern.
Probier zunächst mal Deine Lösungen aus! Bei keiner der Lösungen, die du bietest erhälst Du die gewünschten 24!
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;
Dieses Beispiel liefert:
Code:
F1  F2  Count0  Count1  Count2
A   B   10      1       2 
A   C   14      1       2
Der Count(*) und auch Count(Spalte) ist jeweils ein Count(Distinct, d.h. Duplikate werden NICHT gezählt.

Und wenn Du schon Prozent rechnen willst und Dir meine Lösungen zu kompliziert sind, dann nimm wenigstens den RATIO_TO_REPORT!
Code:
RATIO_TO_REPORT(ColX) OVER(Partition By ColY, ColZ) * 100
Das ist wie beim Äffle und Pferdle:
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!'