Gunakan seed untuk generator nomor acak berdasarkan tanggal saat ini:
ORDER BY RAND(20120714) LIMIT 1
Saya juga ingin tahu tentang apa yang Anda maksud dengan "lain" di sini:
Jika Anda ingin memilih berbeda kutipan acak setiap hari maka Anda tidak boleh menggunakan ORDER BY RAND(seed)
sederhana . Ini bisa mengembalikan kutipan yang sama tiga hari berturut-turut.
Jika Anda ingin menghindari hal ini terjadi, Anda dapat menyimpan kutipan mana yang dipilih untuk setiap hari dan memilih kutipan acak dari kutipan yang belum digunakan dalam n hari terakhir. Tentu saja, jika Anda menyimpan saat kutipan terakhir digunakan, maka ada juga solusi alami untuk masalah awal Anda:
- Cari kutipan yang terakhir digunakan hari ini.
- Jika ada, itulah kutipan hari ini.
- Jika tidak, pilih kutipan baru hari ini dari baris yang belum digunakan dalam n hari terakhir, dan perbarui baris untuk menunjukkan bahwa itu adalah kutipan hari ini.
Oke, bagaimana dengan pendekatan yang sedikit berbeda:
ORDER BY RAND(201207) LIMIT 14, 1
-- yyyymm dd
Sekarang Anda tidak memerlukan kolom tambahan dan Anda tidak akan mendapatkan pengulangan, kecuali mungkin saat bulan berganti. Solusi ini mengasumsikan bahwa Anda memiliki setidaknya 32 kutipan untuk dipilih.