спасибо, правда какой-то баг случился с последующим count, он все равно выводил все значения, сделал просто получение всех значений с distinct, потом отдельно count
все верно count это агригированный запрос с единственным результатом, но ты можешь это все отправить в подзапрос, что вроде
select count(*) from (select ditinct userd.if from users) as results;