Cara Menghapus Duplikat di Database Postgres

tulisan yang dibuat sekaligus untuk ngingetin diri sendiri, kadang begitu dikerjain kemudian direport dan kemudian seketika itu juga dilupain, yah apalah daya pikir saya ndak mampu menghandle hal – hal yang menurut saya bukan personal.

untuk source data awal Deleting Duplicate, bisa dicari disini.

yang kemudian pada implementasinya saya sesuaikan dengan apa yang saya bener bener pengen kerjain, kebayang kan kalau datanya berjuta juta dengan banyak duplikat yang ada …

select a.*, row_number()
over (partition by [nama_kolom] order by [nama_kolom_data] asc) as duplikat
from [nama.table] a

simplenya, postgres akan melakukan penomeran sesuai dengan kriteria yang sudah diurutkan bisa mulai dari kecil ke besar (asc) atau dari besar ke kecil (desc) dimana nanti bisa dipilih misalnya hanya nomer urut 1 saja yang diambil.

select * from [nama.table] where row = 1
from [nama.table] a

Tampilannya nanti akan seperti ini

muncul kolom baru row, dengan urutan sesuai dengan jumlah duplikatnya, sehingga selanjutnya dapat dilakukan unifikasi dengan hanya select salah satu nomer saja.

segini saja dulu sepertinya, ….

Salam …

Leave a Reply

Your email address will not be published. Required fields are marked *

− 2 = 1