Dovresti essere in grado di utilizzare row_number()
(che è una funzione di finestra
) per assegnare l'"iteratore" desiderato. Questo creerà un numero in sequenza per ogni riga:
select *
from
(
select col,
row_number() over(order by col) rn
from yourtable
) src
order by random()
Vedi SQL Fiddle con demo