Untuk menampilkan data secara acak, Anda dapat menambahkan fungsi RAND() yang dikombinasikan dengan Order By Clause.
Contoh
Untuk lebih jelasnya perhatikan contoh di bawah ini:
Misalkan Anda memiliki sebuah tabel pegawai dengan data-data sebagai berikut:
mysql> SELECT * FROM pegawai; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P002 | Iskiyati | P | Bandung | 23 | 7000000 | MKT | | P003 | Nurul Hikmah | P | Semarang | 20 | 4000000 | HR | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P005 | Sri Rahayu | P | Surabaya | 25 | 8000000 | ACC | | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P007 | Ana Fauziyah | P | Tegal | 22 | 4500000 | SLS | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | +------------+---------------+---------------+-----------+------+----------+------------+ 10 rows in set (0.02 sec)
Untuk menampilkan data secara acak, Anda dapat menggunakan fungsi RAND() seperti berikut ini:
mysql> SELECT * FROM karyawan -> ORDER BY RAND(); +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | | P003 | Nurul Hikmah | P | Semarang | 20 | 4000000 | HR | | P002 | Iskiyati | P | Bandung | 23 | 7000000 | MKT | | P007 | Ana Fauziyah | P | Tegal | 22 | 4500000 | SLS | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P005 | Sri Rahayu | P | Surabaya | 25 | 8000000 | ACC | +------------+---------------+---------------+-----------+------+----------+------------+ 10 rows in set (0.00 sec) mysql> SELECT * FROM karyawan -> ORDER BY RAND(); +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P003 | Nurul Hikmah | P | Semarang | 20 | 4000000 | HR | | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P007 | Ana Fauziyah | P | Tegal | 22 | 4500000 | SLS | | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P005 | Sri Rahayu | P | Surabaya | 25 | 8000000 | ACC | | P002 | Iskiyati | P | Bandung | 23 | 7000000 | MKT | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | +------------+---------------+---------------+-----------+------+----------+------------+ 10 rows in set (0.00 sec)Anda dapat menambahkan LIMIT clause pada fungsi RAND() untuk membatasi jumlah data yang akan ditampilkan. Perhatikan contoh berikut ini:
mysql> SELECT * FROM karyawan -> ORDER BY RAND() LIMIT 5; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P007 | Ana Fauziyah | P | Tegal | 22 | 4500000 | SLS | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | +------------+---------------+---------------+-----------+------+----------+------------+ 5 rows in set (0.00 sec) mysql> SELECT * FROM karyawan -> ORDER BY RAND() LIMIT 5; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P003 | Nurul Hikmah | P | Semarang | 20 | 4000000 | HR | | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P002 | Iskiyati | P | Bandung | 23 | 7000000 | MKT | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P007 | Ana Fauziyah | P | Tegal | 22 | 4500000 | SLS | +------------+---------------+---------------+-----------+------+----------+------------+ 5 rows in set (0.00 sec) mysql> SELECT * FROM karyawan -> ORDER BY RAND() LIMIT 5; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P002 | Iskiyati | P | Bandung | 23 | 7000000 | MKT | | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P005 | Sri Rahayu | P | Surabaya | 25 | 8000000 | ACC | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | +------------+---------------+---------------+-----------+------+----------+------------+ 5 rows in set (0.00 sec)Sekian Tips & Trik singkat tentang Cara Menampilkan Data Secara Acak Di MySQL. Semoga bermanfaat & Happy Learning MySQL.
Bagi teman-teman pembaca yang ingin berdiskusi, bertanya ataupun memberikan masukan atau saran pada tutorial ini, silakan untuk menggunakan fasilitas komentar yang telah disediakan.
Salam,
Nursalim
0 Comments