La principale differenza
è che nel primo caso stai chiamando la funzione nel FROM
clausola mentre nella seconda è nella select
clausola. Nel primo caso il risultato è composto da due colonne mentre nel secondo è un stringa
aggregazione di tutte le colonne.
Puoi risolverlo usando la funzione nel FROM
clausola di nuovo, utilizzando o una doppia parentesi o un unione laterale:
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;