sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur skapar man någon form av iterator (eller artificiell id) för en given uppsättning rader?

Du bör kunna använda row_number() (som är en fönsterfunktion ) för att tilldela den "iterator" du vill ha. Detta kommer att skapa ett sekvensnummer för varje rad:

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

Se SQL-fiol med demo



  1. Det går inte att lägga till begränsning av främmande nyckel i ett datumfält

  2. Hur stoppar man oracle ångra processen?

  3. Vad är det bästa sättet att lagra en historisk prislista i en MySQL-tabell?

  4. Kan jag använda jokertecken i IN MySQL-satsen?