прошу прощения, но я поторопился. логика ясна не до конца. если надо выбрать 5 рандомно из 10, непонятно. rand(5) не работает, а повторять функцию на выбор одного как-то громоздко. при этом результат желательно сразу получить в виде массива
select arraySlice(arraySort( x -> rand(x), arr ),3) from (select ['a', 'b', 'c', 'd', 'e'] as arr);
сортируем рандомом, берем 3