Pernahkah Anda mencoba men-select beberapa data random dari tabel pada Database Anda?
Jika Anda menggunakan MySQL, maka perintahnya :
Select [fields] from [table_name] where [where_clause] order by rand() limit m,n
Jika Anda menggunakan MSSQL, maka perintahnya :
Select top n [fields] from [table_name] where [where_clause] order by newid()
Jika Anda menggunakan Oracle, maka perintahnya :
Select [fields] from [table_name] where [where_clause] and rownum<=n order by dbms_random.Value
Contoh, saya punya tabel bank_soal yang berisi 1000 data.
bank_soal
==============
id auto_number primary key
soal text
tipe varchar
kunci_jawaban text
Saya ingin menampilkan 100 soal yang bertipe IPA secara random, maka query akan menjadi :
MySQL -> SELECT * FROM bank_soal WHERE tipe=’IPA’ ORDER BY rand() LIMIT 0,100
MSSQL -> SELECT TOP 100 * FROM bank_soal WHERE tipe=’IPA’ ORDER BY newid()
ORACLE ->
SELECT * FROM bank_soal WHERE tipe=’IPA’ and ROWNUM<=100 ORDER BY dbms_random.Value
atau lebih tepatnya :
SELECT * from (SELECT * FROM bank_soal WHERE tipe=’IPA’ ORDER BY dbms_random.Value) WHERE ROWNUM<=100
Query akan selalu menghasilkan data yang berbeda setiap kali dijalankan.
Silakan mencoba.