Вы можете использовать subquery
:
select col1, count(*) something1,
count(*)-1 / (select count(distinct col3) from dbname where col1 = d.col1) something2
from dbname d
group by col1;
Тем не менее, вы также можете напрямую деформировать его в один SELECT
оператор
select col1, count(*) something1,
(count(*)-1 / count(distinct col3)) something2
from dbname d
group by col1;
Редактировать: Будьте внимательны с ошибкой деления на ноль, так что вы можете включить case
выражение
select col1, count(*) something1,
coalesce((count(*)-1/(case when count(distinct col3) = 0
then null else count(distinct col3) end)), 0) something2
from dbname d
group by col1;