PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

pemilihan baris acak cepat di Postgres

Anda mungkin ingin bereksperimen dengan OFFSET , seperti dalam

SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;

N adalah jumlah baris dalam mytable . Anda mungkin harus terlebih dahulu melakukan SELECT COUNT(*) untuk mengetahui nilai N .

Perbarui (oleh Antony Hatchkins)

Anda harus menggunakan floor di sini:

SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;

Pertimbangkan tabel 2 baris; random()*N menghasilkan 0 <= x < 2 dan misalnya SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; mengembalikan 0 baris karena pembulatan implisit ke int terdekat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berapa jumlah maksimum parameter yang diizinkan per jenis penyedia basis data?

  2. Alternatif pghoard - Manajemen Pencadangan PostgreSQL dengan ClusterControl

  3. Ambil nilai terakhir yang diketahui untuk setiap kolom dari satu baris

  4. Jalankan kueri tab silang dinamis

  5. Ketidakcocokan Openshift dan net-ssh? (2.9.3-beta1 vs 2.9.2)