PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgresql - Nomori ulang kolom

Perhatian:

Ini hanya masuk akal jika ac_n_circ adalah TIDAK kolom kunci utama.

Jika Anda yakin membutuhkan ini (benarkah?), maka sesuatu seperti berikut ini akan berfungsi:

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;

Atau:

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;

Kedua pernyataan mengasumsikan bahwa ada kolom kunci utama bernama id .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah PostgreSQL memiliki batasan keunikan pada elemen array?

  2. PostgreSQL:count() atau simpan penghitung?

  3. Masuk sebagai postgres tetapi mendapatkan kesalahan createuser:pembuatan peran baru gagal:ERROR:harus superuser untuk membuat superuser

  4. Meningkatkan ukuran berbagai jenis karakter di postgres tanpa kehilangan data

  5. Substring PostgreSQL mendapatkan string di antara tanda kurung