Untuk mencari dan menampilkan record yang berbeda pada tabel MySQL kita menggunakan perintah query SELECT DISTINCT . Perintah SELECT DISTINCT hanya akan mengambil nilai yang berbeda dari tabel, sehingga jika ada nilai yang sama tetap akan ditampilkan sekali saja.
Seperti diketahui bahwa jika sebuah kolom tidak diset dengan PRIMARY KEY maka database akan memperbolehkan terjadinya record yang sama. Dan terkadang kita membutuhkan data secara unik diantara data-data yang sama tersebut misalnya saat ingin mengetahui pengunjung blog secara unik dalam satu waktu tertentu.
Cara penulisan perintah SELECT DISTINCT
SELECT DISTINCT nama_kolom1,nama_kolom2 FROM nama_tabel;
Perintah SELECT DISTINCT juga bisa dikombinasi dengan fungsi COUNT untuk menghitung jumlah record unik dalam tabel MySQL, seperti berikut ini:
SELECT COUNT(DISTINCT nama_kolom1) FROM nama_tabel;
Contoh script PHP menggunakan perintah SELECT DISTINCT
Pada contoh berikut kita akan mengambil nilai yang sama dari tabel pengunjung yang memiliki dua field yaitu nama_kunjungan dan waktu_kunjungan berikut ini :
| Nama Pengunjung | Waktu Kunjungan |
|---|---|
| Agus | 2014-11-18 |
| Budi | 2014-11-18 |
| Candra | 2014-11-18 |
| Dewi | 2014-11-18 |
| Agus | 2014-11-19 |
| Dewi | 2014-11-19 |
Untuk mengambil nama pengunjung secara unik dari tabel diatas dibuat script PHP berikut ini :
<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB2";
// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);
// mengecek koneksi mysql
if ($conn->connect_error) die("Koneksi Gagal: " . $conn->connect_error);
else echo "Koneksi Database ".$dbName." Berhasil ...<br/><br/>";
//membuat query membaca record dari tabel User
$query="SELECT DISTINCT nama_pengunjung FROM Pengunjung";
//menjalankan query
if ($conn->query($query)) {
$result=$conn->query($query);
} else die ("Error menjalankan query". mysqli_error());
//mengecek record kosong
if ($result->num_rows > 0) {
// menampilkan data
echo "Nama Pengunjung yang kembali= <br/>";
while($row = $result->fetch_assoc()) {
echo $row["nama_pengunjung"] . "<br/>";
}
}
else echo "Tidak ada Record didalam tabel";
// menutup koneksi mysql
$conn->close();
?>
Referensi :






