A principal diferença é que no primeiro caso você está chamando a função no
FROM
cláusula enquanto no segundo está no select
cláusula. No primeiro caso, o resultado é feito de duas colunas, enquanto no último é um string
agregação de todas as colunas. Você pode corrigi-lo usando a função no
FROM
cláusula novamente, usando ou
a> um parêntese duplo ou uma junção lateral:SELECT radius
FROM ST_MinimumBoundingRadius((SELECT ST_Collect(geom)
FROM a)) minrad;
ou
SELECT radius
FROM (SELECT ST_Collect(geom) geom FROM a) tbla,
LATERAL ST_MinimumBoundingRadius(tbla.geom) minrad;