Você deve ser capaz de usar
row_number()
(que é uma função de janela
) para atribuir o "iterador" desejado. Isso criará um número sequenciado para cada linha:select *
from
(
select col,
row_number() over(order by col) rn
from yourtable
) src
order by random()
Consulte SQL Fiddle with Demo