Kamis, 28 Januari 2016

Cara Mendeteksi Duplicate Record pada DB MySQL

Jika record/row sudah sangat banyak dalam suatu table pada database MySQL tentu mendeteksi duplicate entry/data menjadi agak sulit jika tidak menggunakan query.

Contohnya pada database santri di Pesantren saya, saya menemukan kejanggalan jumlah santri yakni kelebihan. Tapi saya tidak dapat menemukan nama santri yang double tersebut dan ada berapa jumlah yang double.

Table santri pada DB MySQL pesantren :
CREATE TABLE santri (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `nis` INT(11) NOT NULL,
    `nisn` VARCHAR(50) NOT NULL,
    `nama` VARCHAR(200) NOT NULL,
    `nama_arab` VARCHAR(200) NOT NULL COLLATE 'utf8_unicode_ci',
    `jenkel` CHAR(1) NOT NULL,
    `tl` CHAR(20) NOT NULL,
    `tgll` DATE NOT NULL,
    `asalsekolah` CHAR(50) NOT NULL,
    `kwn` CHAR(50) NOT NULL,
    `anakke` CHAR(2) NOT NULL,
    `sdr_kandung` INT(2) NOT NULL,
    `berat_bdn` INT(3) NOT NULL,
    `tinggi_bdn` INT(3) NOT NULL,
    `goldarah` CHAR(2) NOT NULL,
    `foto` CHAR(255) NOT NULL,
    `alamat` TEXT NOT NULL,
    `hp_ortu` CHAR(50) NOT NULL,
    `email_sendiri` VARCHAR(50) NOT NULL
)

Untuk itulah saya menggunakan query berikut untuk memecahkannya :
SELECT  COUNT(*) jml, nama FROM santri
GROUP BY nama
ORDER BY jml desc
Jadi hasil query di atas akan menampilkan kolom jml dan nama jika terdapat duplikat nama atau nama yang persis sama maka dikolom jml akan menampilkan jumlah nama yang sama.

Ada 1 kekurangan query ini yaitu tidak bisa mendeteksi atau membedakan jika memang ada nama santri yang sama namun orangnya berbeda.

Semoga bermanfaat.

Rabu, 21 Mei 2014

Perkenalan, Apa sih MySQL itu?

Posting pertama kita awali dengan perkenalan yah.. selalu begitu kan biasanya :)

Apa sih MySQL itu?
Database. Ya MySQL = Database. Belum faham apa itu Database? Baiklah saya anggap kita semua anak AMIK BSI sudah faham apa itu Database :) yang belum faham yuk belajar di sini -> http://google.com/search?q=database+adalah.

Setelah kita faham bahwa MySQL merupakan database yang gratis alias free atau boleh juga dibilang OPEN SOURCE saya jadi pengen cerita sedikit tentang sejarah MySQL biar anak-anak Indonesia tambah semangat jadi programmer :D

Sejarah MySQL
Kisah ini bermula di sebuah wilayah di Eropa barat. Swedia...

Bersambung.