La principal diferencia
es que en el primer caso estás llamando a la función en el FROM
cláusula mientras que en el segundo está en el select
cláusula. En el primer caso, el resultado está formado por dos columnas, mientras que en el segundo es un cadena
agregación de todas las columnas.
Puedes arreglarlo usando la función en FROM
cláusula de nuevo, usando o bien un doble paréntesis o una unión lateral:
SELECT radius
FROM ST_MinimumBoundingRadius((SELECT ST_Collect(geom)
FROM a)) minrad;
o
SELECT radius
FROM (SELECT ST_Collect(geom) geom FROM a) tbla,
LATERAL ST_MinimumBoundingRadius(tbla.geom) minrad;