Você não pode usar um nome de alias no
GROUP BY
cláusula. Além disso:Por que a subconsulta? Ele reduz as linhas para uma por data e contrato, portanto, se você contar depois você obtém uma contagem de 1 para cada par de data/contrato. select asofdate, contract, count(*) as mycount
from public.optionsdata
group by asofdate, contract
having count(*) > 1
order by mycount desc;