Menampilkan Record Duplikat dengan SQL

Sunday, February 10, 2008

scroll to Indonesian Version


Search for duplicate records sometimes we needed in work in an IT area. Although duplication is impossible to happen at the tables that have good referential integrity and constraint, but in our IT reality sometimes we make our table contain duplicated records.



the SQL Syntax to search for duplicate record in MySQL, Microsoft Access, Oracle, SQL Server and others much the same to or is same precisely because SQL syntax i will mention under this is a standard SQL statement syntax.



For example i use a table named Employees in MySQL database and the table have the following structure : employee_id varchar (10), name varchar (30), and the table have the following data :
































employee_id name
8105048BR Yana
8205049BR Yana
8015052BR Denny
8005043BR Denny
8105047BR Adi F
8005050BR Sody S


At the example above we notice that there are four employees having the same name. To display the duplicated name using SQL statement in MySQL, Microsoft Access, Oracle, SQL Server and others, the SQL statement is as follows :





select name, count(*) from employees

group by name

having count(*) > 1




the SQL statement above will display the list of Name that having count greater than one record. In this example is Yana and Denny. below are the output from the SQL statement above :
















name count(*)
Denny 2
Yana 2







scroll to English Version


Mencari record duplikat terkadang kita butuhkan dalam pekerjaan di bidang IT. Walaupun duplikasi tidak mungkin terjadi pada tabel yang mempunyai referential integrity dan constraint yang baik, namun dalam kenyataannya kita sering membuat tabel yang berisi data-data duplikat.



Syntax SQL untuk mencari record duplikat di MySQL, Microsoft Access, Oracle, SQL Server dan lain-lain hampir sama atau sama persis karena syntax SQL yang akan saya sebutkan dibawah ini adalah syntax statement SQL standar.



Sebagai contoh saya menggunakan sebuah tabel bernama Karyawan di MySQL strukturnya sebagai berikut : nik varchar(10), nama varchar(30), dan mempunyai data-data sebagai berikut di :
































nik nama
8105048BR Yana
8205049BR Yana
8015052BR Denny
8005043BR Denny
8105047BR Adi F
8005050BR Sody S



Pada contoh diatas terdapat empat record yang mempunyai nama yang sama. Untuk menampilkan row duplikat tersebut dengan SQL di MySQL, Microsoft Access, Oracle, SQL Server dan lain-lain, statement SQL-nya sebagai berikut :



select nama, count(*) from karyawan

group by nama

having count(*) > 1




Statement SQL diatas akan menampilkan daftar Nama yang jumlahnya lebih dari satu, dalam contoh ini adalah Yana dan Denny. dibawah ini adalah output dari statement SQL diatas :
















nama count(*)
Denny 2
Yana 2

0 comments:

Recent Comments

Tags Cloud

Blogumulus by Roy Tanck and Amanda Fazani