Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mendapatkan baris acak untuk hari ini?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP:Ulangi beberapa array dan buat kueri SQL INSERT

  2. Menerapkan struktur data hierarkis dalam database

  3. Fungsi hashing PHP yang mengembalikan integer (32bit int)

  4. Mengapa tidak sederhana Jika Pernyataan ELSE berfungsi di mySql

  5. Bagaimana menghubungkan Android dengan MySQL menggunakan driver Mysql JDBC