PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment créer une sorte d'itérateur (ou d'identifiant artificiel) pour un ensemble de lignes donné ?

Vous devriez pouvoir utiliser row_number() (qui est une fonction de fenêtrage ) pour assigner le "itérateur" que vous voulez. Cela créera un numéro séquencé pour chaque ligne :

select *
from
(
  select col,
     row_number() over(order by col) rn
  from yourtable
) src
order by random()

Voir SQL Fiddle avec démo