Elimine la necesidad de hacer una diferenciación agregando previamente
select string_agg(sometext, ' ' order by numval)
from (
select sometext, min(numval) as numval
from t
group by sometext
) s
Respuesta de @Gordon
trajo un buen punto. Eso es si hay otras columnas necesarias. En este caso un distinct on
se recomienda
select x, string_agg(sometext, ' ' order by numval)
from (
select distinct on (sometext) *
from t
order by sometext, numval
) s
group by x