PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie erstellt man eine Art Iterator (oder künstliche ID) für einen bestimmten Satz von Zeilen?

Sie sollten row_number() verwenden können (Das ist eine Fensterfunktion ), um den gewünschten "Iterator" zuzuweisen. Dadurch wird für jede Zeile eine fortlaufende Nummer erstellt:

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

Siehe SQL-Fiddle mit Demo