Du kan inte använda ett aliasnamn i GROUP BY
klausul. Dessutom:Varför underfrågan? Det minskar raderna till en per datum och kontrakt, så om du räknar efteråt du får 1 för varje likdatum/kontraktspar.
select asofdate, contract, count(*) as mycount
from public.optionsdata
group by asofdate, contract
having count(*) > 1
order by mycount desc;