Если у вас достаточно строк в таблице, вы можете использовать:
select seqnum
from (select max(json_array_length(metadata)) over () as max_row,
row_number() over () as seqnum
from input_table
) i
where seqnum <= max_row;
Обратите внимание, что если таблица намного больше ожидаемого максимального размера, вы можете ограничить количество строк:
select seqnum
from (select max(json_array_length(metadata)) over () as max_row,
row_number() over () as seqnum
from (select i.* from input_table limit 1000) i
) i
where seqnum <= max_row;
Или, если у вас есть таблица подсчета или календаря, вы можете использовать ее вместо этого.