sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgresql - Omnumrera kolumner

Varning:

Detta är bara vettigt om ac_n_circ är INTE primärnyckelkolumnen.

Om du är säker på att du behöver det här (är du verkligen?), så borde något i stil med följande fungera:

with new_numbers as  (
   select row_number() over (order by ac_n_circ) as new_nr,
          ac_n_circ, 
          id
   from foo
) 
update foo
   set ac_n_circ = nn.new_nr
from new_numbers nn 
 where nn.id = foo.id;

Alternativt:

update foo 
  set ac_n_circ = nn.new_number
from (
   select id, 
          ac_n_circ,
          row_number() over (order by ac_n_circ) as new_number
   from foo
) nn
where nn.id = foo.id;

Båda satserna förutsätter att det finns en primärnyckelkolumn med namnet id .




  1. Skillnaden mellan tidsstämplar i millisekunder i Oracle

  2. Välj från tabell om posten finns i en annan tabell

  3. Oracle SQL - ansluter till syntax/sökord

  4. Hur använder du MySQL:s källkommando för att importera stora filer i Windows