Skip to main content

Data ganda pada Mysql dan cara menghapusnya


Kejadian mempunyai record ganda dialami pada database cangkirkopi, kami memiliki table kota dengan field ct_id dan ct_name, faktanya adalah terdapat nama kota (ct_name) yang ganda tetapi dengan id yang berbeda. Contoh :  ct_id=1, ct_name = Bandung, dan ct_id=2, ct_name=Bandung. Bila kesalahan input data hanya kurang dari 10 record tentu tidak masalah, tetapi kalau dalam jumlah banyak, dan record total jumlahnya ratusan tentu ini akan merepotkan.
Nah Bagaimana cara melihat record yang ganda, berikut ini adalah contoh pada kasus table kota yang kami miliki :
Query melihat record ganda dan jumlah recordnya.
SELECT *, COUNT(*) AS n
FROM cities
GROUP BY ct_name HAVING n>1
kuncinya pada "Group By" dan Count(*), jadi bila anda ingin mengecek field dengan nilai ganda,  letakan field-fieldnya pada bagian "Group By".
Kemudian, untuk menghapus data record yang ganda tetapi menyisakan 1 record unik, berikut querynya :
DELETE FROM cities
WHERE ct_id IN (SELECT dupid FROM (SELECT MAX(ct_id) AS dupid,COUNT(*) AS dupcnt
FROM cities
GROUP BY ct_name HAVING dupcnt>1) AS duptable)
Silahkan sesuaikan nama field yang anda miliki, semoga berguna.

Comments

Popular posts from this blog

Program PHP sederhana untuk menghitung simulasi kredit

Membuat Form <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <style type="text/css"> <!-- body,td,th { font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; color: #333333; } --> </style></head> <?php $harga=$_GET['harga']; $dp=$harga*0.2; ?> <body> <H2>FORM SIMULASI KREDIT </H2> <br /> <form id="form1" name="form1" method="post" action="simulasi_proses1.php"> <table width="580" border="0" cellspacing="2" cellpadding="2"> <tr> <td>Harga Kendaraan </td> ...

COMPONENT-LEVEL DESIGN

Component-level design, atau juga dikenal dengan procedural design, baru ada setelah data, arsitektur dan rancangan antarmuka dibuat terlebih dahulu. Component-level design tujuannya adalah untuk menterjemahkan model design ke bentuk software yang akan dibuat. Namun dikarenakan abstraksi model design yang sudah ada relatif tinggi sedangkan abstraksi tingkat program operasionalnya rendah, maka proses penterjemahannya ini menjadi sebuah tantangan tersendiri. Menurut Edsgar Dijkstra, dalam perlkuliahannya mengatakan [DIJ72]: “Software ini berbeda dibanding dengan produk lain, dimana aturannya adalah semakin tinggi kualitas akan berdampak pada harga. Orang yang benar-benar ingin memperoleh software yang dapat diandalkan akan percaya bahwa mereka harus bisa menemukan suatu alat/cara untuk menghindari memulai suatu sistem dengan bug, dan hasilnya adalah, proses programming menjadi lebih murah . . . programmer efektif . . . tidak boleh menghabiskan waktunya untuk memperbaiki debugg—mereka se...

Android studio contoh penerapan looping

Berikut adalah contoh penerapan looping pada android studio, program akan melakukan looping sebanyak 10 kali dan mencetak angka dari 1 sampai 11 . Buka dan edit file activity_main.xml seperti berikut: activity_main.xml xml version= "1.0" encoding= "utf-8" ?> < RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: app = "http://schemas.android.com/apk/res-auto" xmlns: tools = "http://schemas.android.com/tools" android :layout_width= "match_parent" android :layout_height= "match_parent" tools :context= "daniyusuf.com.contohlooping.MainActivity" > < TextView android :id= "@+id/txt_looping" android :layout_width= "match_parent" android :layout_height= "wrap_content" android :text= "Hello World!" app :layout_constraintBottom_toBottomOf= "parent" ...