PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

lựa chọn hàng ngẫu nhiên nhanh chóng trong Postgres

Bạn có thể muốn thử nghiệm với OFFSET , như trong

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

N là số hàng trong mytable . Trước tiên, bạn có thể cần thực hiện SELECT COUNT(*) để tìm ra giá trị của N .

Cập nhật (bởi Antony Hatchkins)

Bạn phải sử dụng floor tại đây:

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

Hãy xem xét một bảng gồm 2 hàng; random()*N tạo 0 <= x < 2 và ví dụ:SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; trả về 0 hàng vì làm tròn ẩn đến số nguyên gần nhất.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn Postgres phức tạp

  2. Sự phát triển của khả năng chịu lỗi trong PostgreSQL:Cam kết đồng bộ

  3. PgBouncer giúp tăng tốc Django như thế nào

  4. Tạo VAI TRÒ PostgreSQL (người dùng) nếu nó không tồn tại

  5. Cách xác định khóa chính được tạo tự động được sử dụng làm khóa ngoại cho một bảng khác