sql >> Database teknologi >  >> RDS >> PostgreSQL

Opdater poster, der opfylder en betingelse med stigende antal

Det er en typisk use case for row_number() vinduesfunktion. Forudsat at din hovedtabel er T, burde denne forespørgsel fungere med postgresql 8.4 eller nyere:

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;


  1. Hvad er SQL Server RAISERROR?

  2. Sådan øges filstørrelsen af ​​en datafil i SQL Server (T-SQL)

  3. MySQL, json, JSON_ARRAY_APPEND - hvorfor vil append ikke virke på 5.7.13?

  4. Er der en enklere måde at opnå denne stil af brugerbeskeder på?