PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come creare una sorta di iteratore (o ID artificiale) per un determinato insieme di righe?

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