TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP Dasar | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress



Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Kunjungi Toko Ebook RosihanAri.Net

Mencari Duplikasi Data dengan SQL


June 26th, 2008 | by rosihanari | Cetak Artikel Cetak Artikel

Anda ingin mencari data yang berduplikasi dalam tabel dalam database yang Anda miliki? Dengan menggunakan statement SQL, Anda dapat mengetahui data yang berduplikasi dengan mudah dan cepat.

Bagaimana caranya? Simak artikel ini dengan baik.

Untuk pembahasan, akan diambil contoh tabel mahasiswa dengan struktur field berikut ini

NIM -> Varchar(10)
NamaMhs -> Varchar(20)

Pada struktur tabel di atas, memang seharusnya tidak boleh ada data pada field NIM yang berduplikasi. Repot… apabila ada dua atau lebih mahasiswa yang memiliki NIM yang sama.

Bagi programmer yang baik, tentunya akan membuat primary key pada field NIM untuk mencegah duplikasi data.  Namun bagaimana seandainya si programmer lupa untuk memberikan primary key pada NIM, padahal data mahasiswa sudah telanjur tersimpan dalam tabel? Jangan khawatir wahai programmer… ada cara untuk mencari data yang berduplikasi. Gunakan saja statement SQL.

Begini perintahnya:

SELECT nim, count(*) as jumlah FROM namatabel
GROUP BY nim ORDER BY jumlah DESC;

Perintah di atas akan menghitung jumlah data untuk setiap kelompok nim. Secara logika, suatu nim akan unik atau tunggal jika jumlah nimnya adalah 1. Sedangkan nim yang berduplikasi, apabila jumlah data pada nim tersebut adalah lebih dari 1.

Sebagai contoh, perhatikan data yang tersimpan dalam tabel di atas (sampel saja)  berikut ini:

NIM Nama Mhs
001 si A
002 si B
001 si C
003 si D
002 si E

Dari contoh record di atas, setelah diberikan perintah SQL yang telah saya berikan sebelumnya, akan dihasilkan

NIM jumlah
001 2
002 2
003 1

Dari hasil yang diperoleh tampak bahwa terdapat NIM 001 yang berduplikat (sejumlah 2 data) dan NIM 002 yang juga 2 data. Perintah ORDER BY jumlah digunakan untuk mengurutkan jumlah data tiap kelompok NIM mulai yang terbesar. Harapannya supaya data yang duplikat terletak di paling atas dalam tampilan, sehingga kita enak mencarinya.

Gimana.. mudah kan?


Baca Juga Artikel Terkait
Mencari Selisih Waktu dan Tanggal dengan SQL



Slot iklan tersedia, pasang iklan di atas


Kata kunci:


Ada 22 komentar dalam artikel ini.



  1. ibhel says:

    Salut Banget buat Rosihan Ari….
    Mas, gw mau tanya… gimana cara menampilkan data yg duplikasi… Misalnya sy membuat table dengan struktur sbb:
    ID Tujuan Nama_Kapal
    01 jakarta Lambelu
    02 jakarta Tilongkabila
    03 makassar sinabung
    Mau tanya gimana caranya untuk menampilkan lambelu dan tilongkabila krn sama” tujuan jakarta….. terima kasih Banyak
    Sukses selalu buat bapak yg sangat” membantu!!! ^_^

  2. ahmad says:

    mas.. gmn kalau ingin menapilkan hanya 1 data saja di data yang duplikat itu…

    contoh:
    id NIM IDDOSEN
    1 0523 545
    2 0523 856
    3 0524 555

    Saya ingin menampilkan semua, tapi jika ada yang duplikat hanya satu yang ditampilkan..
    hasil :
    NIM
    0523
    0524

    Thax be4…

  3. teguh says:

    ass..
    mas,
    mu tanya..
    gimana cara menampilkan data dari pencarian pake combo box..??

  4. widdy says:

    malam pak…saya mau tanya nih…misal saya punya 8 data

    id car time engine
    1 BMW 2012-02-25 04:00:00 off
    2 BMW 2012-02-25 04:02:44 on
    3 BMW 2012-02-25 04:06:22 off
    4 BMW 2012-02-25 04:10:11 off
    5 BMW 2012-02-25 04:15:00 on
    6 BMW 2012-02-25 04:20:00 on
    7 BMW 2012-02-25 04:25:00 off
    8 BMW 2012-02-25 04:30:00 off

    bagaimana sintax mysqlnya apabila saya ingin menghitung waktu engine off mobil saya?

    trima kasih sebelumnya..

  5. adamchand (@adamchand1) says:

    mas, saya mau nanya bagaiman script php/java scripnya untuk mecegah pengimputan data yang sama berdasarkan primary key pada tbel yang lain, misalnya saya membuat sistem informasi pembayaran spp siswa di sekolah, pada databasenya terdapat tabel SISWA dengan primarikey NIS,field yang lainnya pada tabel SISWA tersebut nama, kelas dst.

    selain tabel siswa tersebut ada tabel TRANSAKSI deng field, NO_TR,TGL,NIS(nis saya ambil dari tabel siswa mas),NAMA,SPP_BULAN,SUMBANGAN_PEMBANGUNAN_BULAN,JUMLAH_SUMBANGAN_PEMB,JUMLAH_PEMBAYARAN_SPP. sekarang intinya yang saya tanyakan bagaimana script php/java nya untuk mencegah siswa (dengan nis 001 misalnya)melakukan pembayaran sumbangan_pembangunan pada bulan yang sudah di bayar. misal siswa dengan nis 001 sudah membayar sumbangan bulan FEBRUARI pada bulan februari, nah ketika si siswa melakukan pembayaran SPP pada bulan MARET dan SUMBANGAN_PEMBANGUNAN untuk bulan maret, jika user menginput bulan FEBRUARI pada textbox sumbangan untuk bulan maka keluar pesan “sumbangan pembangunan untuk bulan FEBRUARI sudah di bayar”

  6. akbar says:

    salamualaikum..
    mas saya ada kasus nih..
    saya kan biki aplikasi tentang rekam medik pasien.
    yang akan saya tanyakan, saya akan membuat data statistik pasien. contoh

    KODE ALAMAT PENYAKIT
    P.01 KP. AAA SAKIT PERUT
    P.02 KP. BBB SAKIT KEPALA
    P.03 KP. AAA SAKIT KEPALA
    P.04 KP. AAA SAKIT KAKI

    1. Sintaks SQL untuk membuat wilayah Endemik Penyakit Terbanyak disuatu wilayah? misalkan yang ingin dihasilkan: DARI SELURUH DATA PASIEN, PENYAKIT TERBANYAK ADALAH “PENYAKIT KEPALA” TERSEBAR SEBAGIAN BESAR DIWILAYAH “KP. AA”
    2. Jumlah Alamat dipisah dulu, setelah itu digrupin..trus dihitung jumlahnya. setelah diketahui jumlah orang di kampung tsb, disortir lagi berdasarkan jumlah penyakit terbanyak..? pusing mas. yang pasti saya pengen bikin data statistik pasien intinya, trims mas sebelumnya saya tunggu feedbacknya :) wassalam



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*