Beranda > SQL > Menghapus Record Double Pada SQL Server 2005

Menghapus Record Double Pada SQL Server 2005

Ketika kita memiliki data/record double pada tabel sql server 2005, yang harus kita lakukan adalah menghapus salah satu record yg double tersebut. Katika record yang double masih dalam batas hitungan kecil, mungkin tidak menjadi masalah. Kita tinggal menghapusnya satu per satu. Bagaimana jadinya jika record yang double itu sudah mencapai jumlah yang ratusan bahkan ribuan, apakah kita masih mau menghapus satu per satu record yg double?. Berapa lama waktu yg dibutuhkan untuk itu?.

Pada SQL Server 2005 atau yang lebih baru, ada fungsi yang namanya ROW_NUMBER(). Kita bisa memanfaatkan fungsi ini untuk menghapus record double yg jumlahnya banyak yang kalau kita hapus satu persatu tidak mungkin karena akan memakan waktu yg begitu lama. Bagaimana caranya ??. Simak contoh berikut :

Misalnya kita memiliti tabel “Customers”. Pada tabel ini terdapat data seperti berikut :

FirtsName    LastName     Phone

AAA             BBBB            12345
AAA             BBBB            123457
CCC            DDDD            3456
CCC            DDDD            3467

 

WITH TempCust (FirstName,LastName, duplicateRecordCount)

AS
(
SELECT FirstName,LastName,
ROW_NUMBER() OVER(PARTITION BY FirstNameLastName ORDER BY FirstNameAS duplicateRecordCount
FROM Customers
)
DELETE
FROM TempCust
WHERE duplicateRecordCount > 1
Maka hasilnya adalah :

FirtsName    LastName     Phone

AAA             BBBB            12345
CCC            DDDD            3456

Iklan
Kategori:SQL
  1. Juni 28, 2013 pukul 6:59 pm

    I don’t know whether it’s just me or if everybody else encountering problems with your website.
    It appears as if some of the text within your content are running off the screen.
    Can someone else please comment and let me know if this is happening to
    them as well? This might be a issue with my browser because I’ve had this happen before. Kudos

  2. Juli 9, 2013 pukul 8:15 am

    Hi, just wanted to tell you, I loved this article.
    It was helpful. Keep on posting!

  3. Februari 20, 2015 pukul 1:15 am

    Hi my loved one! I want to say that this article is amazing,
    great written and come with almost all important infos.
    I would like to see extra posts like this .

  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: