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

Mettre à jour les enregistrements qui satisfont une condition avec un nombre croissant

C'est un cas d'utilisation typique pour le row_number() fonction de fenêtre.En supposant que votre table principale est T, cette requête devrait fonctionner avec postgresql 8.4 ou plus récent :

update T set local_id=s.rn 
from (select id,row_number() over(order by id) as rn from T where local_site_id=2) s
 where T.id=s.id;