WITH CTE AS ( SELECT idx, ROW_NUMBER() OVER (ORDER BY idx) AS new_idx FROM your_table ) UPDATE your_table SET new_idx = CTE.new_idx FROM CTE WHERE your_table.idx = CTE.idx;