Sie können in GROUP BY
keinen Aliasnamen verwenden Klausel. Außerdem:Warum die Unterabfrage? Es reduziert die Zeilen auf eine pro Standdatum und Vertrag, also wenn Sie nachher zählen Sie erhalten eine Zählung von 1 für jedes Standdatum/Vertragspaar.
select asofdate, contract, count(*) as mycount
from public.optionsdata
group by asofdate, contract
having count(*) > 1
order by mycount desc;