Jumat, 20 Maret 2015

Menampilkan hasil query mysql jika ada row yang isinya sama

Select distinct fungsinya adalah untuk menampilkan hasil query mysql jika ada row yang isinya sama, maka hanya akan diambil salah satu nya saja. Misal dalam tabel cabang, ada nama cabang : jakarta sebanyak 100 row record data. Maka Jakarta akan di tampilkan hanya satu record. Select distinct mysql juga bisa dikembangkan dalam bentuk lain. Digabungkan dan dikombinasikan dengan syntax mysql lainnya. Berikut contoh syntax yang akan saya buat :

Contoh syntax :

select distinct(nm_cabang) from cabang;
Variasi script select distinct dengan count:

select count(distinct kd_cabang)from cabang;
Maksud script diatas adalah menghitung dari tabel transaksi dengan tujuan untuk menghitung berapa jumlah cabang yang terdapat dalam tabel tersebut.

contoh buat presensi

SELECT DISTINCT b.nik, c.nama_pegawai,

(
SELECT COUNT( * )
FROM pegawai_presensi a
WHERE a.nik = b.nik
AND a.keterangan = 'Masuk'
) AS Masuk,

(
SELECT COUNT( * )
FROM pegawai_presensi a
WHERE a.nik = b.nik
AND a.keterangan = 'Ijin'
) AS Ijin,

(
SELECT COUNT( * )
FROM pegawai_presensi a
WHERE a.nik = b.nik
AND a.keterangan = 'Alfa'
) AS Alfa
FROM pegawai_presensi b
JOIN pegawai c ON b.nik = c.nik;